From 03209b088c9d4a234aec8d03017852f1f1d561aa Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 15 Sep 2023 19:11:23 +0800 Subject: [PATCH] Synchronization code --- .../ResolveItems/MemberInitExpressionResolve.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs index 15bc86503..42e5d1198 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs @@ -83,7 +83,7 @@ namespace SqlSugar else if (entityMaintenance != null && entityMaintenance.GetEntityInfo(type).Columns.Any(it =>it.SqlParameterDbType is Type &&it.PropertyInfo.Name == memberName) - &&IsConst(ExpressionTool.RemoveConvertThanOne(item))) + &&IsConstNew(ExpressionTool.RemoveConvertThanOne(item))) { var columnInfo= entityMaintenance.GetEntityInfo(expression.Type).Columns.First(it => it.SqlParameterDbType is Type && it.PropertyInfo.Name == memberName); var columnDbType = columnInfo.SqlParameterDbType as Type; @@ -249,6 +249,17 @@ namespace SqlSugar { return item is UnaryExpression || item.NodeType == ExpressionType.Constant || (item is MemberExpression) && ((MemberExpression)item).Expression.NodeType == ExpressionType.Constant; } + private static bool IsConstNew(Expression item) + { + if (item != null) + { + if (!ExpressionTool.GetParameters(item).Any()) + { + return true; + } + } + return item is UnaryExpression || item.NodeType == ExpressionType.Constant || (item is MemberExpression) && ((MemberExpression)item).Expression.NodeType == ExpressionType.Constant; + } private static bool IsMethod(Expression item) {