diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs index 75e25fc3a..91d2f4b5d 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs @@ -24,26 +24,29 @@ namespace SqlSugar ); return conditionalExpression; } - internal static bool IsOwsOne(ExpressionContext context, Expression member) + internal static bool IsOwnsOne(ExpressionContext context, Expression member) { - var isOwsOne = false; + var isOwnsOne = false; + if (context?.SugarContext?.Context == null) + { + return false; + } if (member is MemberExpression memberExp) { var name = memberExp?.Member?.Name; - if (memberExp.Expression is MemberExpression parentMemberExp) + if (memberExp?.Expression is MemberExpression parentMemberExp) { - if (name != null && parentMemberExp.Expression is ParameterExpression) - { - var rootExp = (parentMemberExp.Expression as ParameterExpression); + if (name != null && parentMemberExp?.Expression is ParameterExpression rootExp) + { var entityInfo = context?.SugarContext?.Context?.EntityMaintenance?.GetEntityInfo(rootExp.Type); - var navColumn = entityInfo.Columns.FirstOrDefault(it => it.PropertyName == name); - isOwsOne = navColumn?.ForOwnsOnePropertyInfo != null; + var navColumn = entityInfo?.Columns?.FirstOrDefault(it => it.PropertyName == name); + isOwnsOne = navColumn?.ForOwnsOnePropertyInfo != null; } } } - return isOwsOne; + return isOwnsOne; } - internal static EntityColumnInfo GetOwsOneColumnInfo(ExpressionContext context, Expression member) + internal static EntityColumnInfo GetOwnsOneColumnInfo(ExpressionContext context, Expression member) { EntityColumnInfo entityColumnInfo = new EntityColumnInfo(); if (member is MemberExpression memberExp) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs index 2dc1d0cd7..bf59542d6 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs @@ -457,9 +457,9 @@ namespace SqlSugar private void ResolveMemberValue(ExpressionParameter parameter, ExpressionParameter baseParameter, bool? isLeft, bool isSetTempData, MemberExpression expression) { - if (ExpressionTool.IsOwsOne(this.Context, expression)) + if (ExpressionTool.IsOwnsOne(this.Context, expression)) { - var column = ExpressionTool.GetOwsOneColumnInfo(this.Context, expression); + var column = ExpressionTool.GetOwnsOneColumnInfo(this.Context, expression); var columnName = column.DbColumnName; if (this.Context.IsJoin) { diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec index 2f70c7e98..b149a670f 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.1.4.141-preview03 + 5.1.4.141-preview05 sunkaixuan 果糖大数据科技 http://www.apache.org/licenses/LICENSE-2.0.html