diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs index 33d184e1b..dc2376220 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs @@ -154,7 +154,7 @@ namespace SqlSugar var navResult = new AppendNavResult(); foreach (var item in QueryBuilder?.AppendNavInfo.AppendProperties) { - var vi = dataReader.GetOrdinal(item.Key); + var vi = dataReader.GetOrdinal("SugarNav_" + item.Key); var value = dataReader.GetValue(vi); navResult.result.Add("SugarNav_"+item.Key,value); } diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs index 6f8f2db06..56edb82a0 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs @@ -146,6 +146,10 @@ namespace SqlSugar foreach (var item in expression.Arguments) { string memberName = expression.Members[i].Name; + if (this.Context?.SugarContext?.QueryBuilder?.AppendNavInfo?.MappingNavProperties?.ContainsKey(memberName) == true) + { + continue; + } ++i; ResolveNewExpressions(parameter, item, memberName); } diff --git a/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs b/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs index eb805ede1..2875fee6c 100644 --- a/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Infrastructure/ContextMethods.cs @@ -474,6 +474,17 @@ namespace SqlSugar } QueryBuilder.AppendValues.Add(addItems); } + if (QueryBuilder?.AppendNavInfo != null) + { + var navResult = new AppendNavResult(); + foreach (var item in QueryBuilder?.AppendNavInfo.AppendProperties) + { + var vi = dataReader.GetOrdinal("SugarNav_" + item.Key); + var value = dataReader.GetValue(vi); + navResult.result.Add("SugarNav_" + item.Key, value); + } + QueryBuilder?.AppendNavInfo.Result.Add(navResult); + } } private static bool IsBytes(Dictionary readerValues, PropertyInfo item) {