diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/MethodCallExpressionModel.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/MethodCallExpressionModel.cs index 093b4d39a..7f544439e 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/MethodCallExpressionModel.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/MethodCallExpressionModel.cs @@ -11,6 +11,7 @@ namespace SqlSugar public List Args { get; set; } public string Name { get; set; } public dynamic Data { get; set; } + public object DataObject { get; set; } public Expression Expression { get; set; } public Expression BaseExpression { get; set; } public List Parameters { get; set; } diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs index c7f853524..a4bb01c0d 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs @@ -1129,7 +1129,7 @@ namespace SqlSugar { if (model.Conext?.SugarContext?.Context?.CurrentConnectionConfig?.MoreSettings?.DisableNvarchar != true) { - if (columnInfo.SqlParameterDbType is System.Data.DbType type && type == System.Data.DbType.AnsiString) + if (model.DataObject is DbColumnInfo dc&& dc.SqlParameterDbType is System.Data.DbType type && type == System.Data.DbType.AnsiString) { } diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs index 15ca4e865..547a8879b 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs @@ -308,6 +308,17 @@ namespace SqlSugar ConvetColumnFunc = this.Context.GetTranslationColumnName } }); + if (lamExp.Body is MethodCallExpression callExpression) + { + var callObject = callExpression.Object; + + if (callObject is MemberExpression memberExpression && memberExpression?.Expression is ParameterExpression parameterExpression) + { + var entity = this.Context.SugarContext.Context.EntityMaintenance.GetEntityInfo(parameterExpression.Type); + var columnInfo = entity.Columns.FirstOrDefault(it => it.PropertyName == memberExpression.Member.Name); + model.DataObject = columnInfo; + } + } if (this.Context.IsSingle && this.Context.SingleTableNameSubqueryShortName == null) { ParameterExpressionVisitor visitor = new ParameterExpressionVisitor(); diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec index daec1d6d8..d2b49d574 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.1.4.194-preview28 + 5.1.4.194-preview31 sunkaixuan 果糖大数据科技 http://www.apache.org/licenses/LICENSE-2.0.html