Update Core

This commit is contained in:
sunkaixuan
2022-04-19 13:30:22 +08:00
parent f3762f4a84
commit e677f1710f

View File

@@ -258,13 +258,15 @@ namespace SqlSugar
FieldValue = String.Join(",", ids), FieldValue = String.Join(",", ids),
CSharpTypeName = navObjectNameColumnInfo.PropertyInfo.PropertyType.Name CSharpTypeName = navObjectNameColumnInfo.PropertyInfo.PropertyType.Name
})); }));
var navList = selector(this.Context.Queryable<object>().AS(navEntityInfo.DbTableName).Where(conditionalModels)); if (list.Any()&&navObjectNamePropety.GetValue(list.First()) == null)
foreach (var item in list)
{ {
if (navObjectNamePropety.GetValue(item) == null) var navList = selector(this.Context.Queryable<object>().AS(navEntityInfo.DbTableName).Where(conditionalModels));
foreach (var item in list)
{ {
var setValue = navList.FirstOrDefault(x => navPkColumn.PropertyInfo.GetValue(x).ObjToString() == navColumn.PropertyInfo.GetValue(item).ObjToString()); var setValue = navList.FirstOrDefault(x => navPkColumn.PropertyInfo.GetValue(x).ObjToString() == navColumn.PropertyInfo.GetValue(item).ObjToString());
navObjectNamePropety.SetValue(item, setValue); navObjectNamePropety.SetValue(item, setValue);
} }
} }
} }
@@ -288,12 +290,13 @@ namespace SqlSugar
CSharpTypeName = listItemPkColumn.PropertyInfo.PropertyType.Name CSharpTypeName = listItemPkColumn.PropertyInfo.PropertyType.Name
})); }));
var sqlObj = GetWhereSql(); var sqlObj = GetWhereSql();
var navList = selector(this.Context.Queryable<object>().AS(navEntityInfo.DbTableName).AddParameters(sqlObj.Parameters).Where(conditionalModels).WhereIF(sqlObj.WhereString.HasValue(),sqlObj.WhereString).Select(sqlObj.SelectString).OrderByIF(sqlObj.OrderByString.HasValue(),sqlObj.OrderByString));
if (navList.HasValue()) if (list.Any() && navObjectNamePropety.GetValue(list.First()) == null)
{ {
foreach (var item in list) var navList = selector(this.Context.Queryable<object>().AS(navEntityInfo.DbTableName).AddParameters(sqlObj.Parameters).Where(conditionalModels).WhereIF(sqlObj.WhereString.HasValue(), sqlObj.WhereString).Select(sqlObj.SelectString).OrderByIF(sqlObj.OrderByString.HasValue(), sqlObj.OrderByString));
if (navList.HasValue())
{ {
if (navObjectNamePropety.GetValue(item) == null) foreach (var item in list)
{ {
var setValue = navList var setValue = navList
.Where(x => navColumn.PropertyInfo.GetValue(x).ObjToString() == listItemPkColumn.PropertyInfo.GetValue(item).ObjToString()).ToList(); .Where(x => navColumn.PropertyInfo.GetValue(x).ObjToString() == listItemPkColumn.PropertyInfo.GetValue(item).ObjToString()).ToList();