mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 04:35:29 +08:00
Update navquery bug
This commit is contained in:
parent
bf1b72cd64
commit
652166f8ef
@ -378,6 +378,10 @@ namespace SqlSugar
|
||||
var data = listItemEntity.Columns.FirstOrDefault(it => it.PropertyName == navObjectNameColumnInfo.Navigat.Name);
|
||||
ids = list.Select(it =>
|
||||
{
|
||||
if (data.ForOwnsOnePropertyInfo == null)
|
||||
{
|
||||
return it.GetType().GetProperty(navObjectNameColumnInfo.Navigat.Name).GetValue(it);
|
||||
}
|
||||
var ownsObj = data.ForOwnsOnePropertyInfo.GetValue(it);
|
||||
return ownsObj.GetType().GetProperty(navObjectNameColumnInfo.Navigat.Name).GetValue(ownsObj);
|
||||
}).Select(it => it == null ? "null" : it).Distinct().ToList();
|
||||
@ -437,35 +441,64 @@ namespace SqlSugar
|
||||
{
|
||||
// 有 OwnsOne 的情况
|
||||
var data = listItemEntity.Columns.FirstOrDefault(it => it.PropertyName == navObjectNameColumnInfo.Navigat.Name);
|
||||
|
||||
var groupQuery = (from l in list
|
||||
let ownsObj = data.ForOwnsOnePropertyInfo.GetValue(l)
|
||||
join n in navList
|
||||
on ownsObj.GetType()
|
||||
.GetProperty(navObjectNameColumnInfo.Navigat.Name)
|
||||
.GetValue(ownsObj)
|
||||
.ObjToString()
|
||||
equals navPkColumn.PropertyInfo.GetValue(n).ObjToString()
|
||||
select new
|
||||
{
|
||||
l,
|
||||
n
|
||||
}).ToList();
|
||||
|
||||
foreach (var item in groupQuery)
|
||||
if (data.ForOwnsOnePropertyInfo == null)
|
||||
{
|
||||
|
||||
// var setValue = navList.FirstOrDefault(x => navPkColumn.PropertyInfo.GetValue(x).ObjToString() == navColumn.PropertyInfo.GetValue(item).ObjToString());
|
||||
|
||||
if (navObjectNamePropety.GetValue(item.l) == null)
|
||||
var groupQuery = (from l in list
|
||||
join n in navList
|
||||
on navColumn.PropertyInfo.GetValue(l).ObjToString()
|
||||
equals navPkColumn.PropertyInfo.GetValue(n).ObjToString()
|
||||
select new
|
||||
{
|
||||
l,
|
||||
n
|
||||
}).ToList();
|
||||
foreach (var item in groupQuery)
|
||||
{
|
||||
navObjectNamePropety.SetValue(item.l, item.n);
|
||||
}
|
||||
else
|
||||
{
|
||||
//The reserved
|
||||
}
|
||||
|
||||
// var setValue = navList.FirstOrDefault(x => navPkColumn.PropertyInfo.GetValue(x).ObjToString() == navColumn.PropertyInfo.GetValue(item).ObjToString());
|
||||
|
||||
if (navObjectNamePropety.GetValue(item.l) == null)
|
||||
{
|
||||
navObjectNamePropety.SetValue(item.l, item.n);
|
||||
}
|
||||
else
|
||||
{
|
||||
//The reserved
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var groupQuery = (from l in list
|
||||
let ownsObj = data.ForOwnsOnePropertyInfo.GetValue(l)
|
||||
join n in navList
|
||||
on ownsObj.GetType()
|
||||
.GetProperty(navObjectNameColumnInfo.Navigat.Name)
|
||||
.GetValue(ownsObj)
|
||||
.ObjToString()
|
||||
equals navPkColumn.PropertyInfo.GetValue(n).ObjToString()
|
||||
select new
|
||||
{
|
||||
l,
|
||||
n
|
||||
}).ToList();
|
||||
|
||||
foreach (var item in groupQuery)
|
||||
{
|
||||
|
||||
// var setValue = navList.FirstOrDefault(x => navPkColumn.PropertyInfo.GetValue(x).ObjToString() == navColumn.PropertyInfo.GetValue(item).ObjToString());
|
||||
|
||||
if (navObjectNamePropety.GetValue(item.l) == null)
|
||||
{
|
||||
navObjectNamePropety.SetValue(item.l, item.n);
|
||||
}
|
||||
else
|
||||
{
|
||||
//The reserved
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user