Update naviate

This commit is contained in:
sunkaixuan 2022-04-15 14:58:18 +08:00
parent 5b0e0166ee
commit 3ff9c37622

View File

@ -71,6 +71,16 @@ namespace SqlSugar
{
var currentList = _preList.Where(it => it != null).ToList();
if (RootList == null || currentList.Count == 0) return;
List<object> list = ExecuteByLay(currentList);
ExecuteByLay(item, list, SelectR3);
_preList = list.ToList();
}
_preExpressionList.Add(item);
_ListCallFunc = new List<Expression>();
}
private List<object> ExecuteByLay(List<object> currentList)
{
var memberExpression = ((_preExpressionList.Last() as LambdaExpression).Body as MemberExpression);
var navObjectName = memberExpression.Member.Name;
var navType = currentList[0].GetType().GetProperty(navObjectName).PropertyType.Name;
@ -85,11 +95,8 @@ namespace SqlSugar
{
list = currentList.Select(it => (it.GetType().GetProperty(navObjectName).GetValue(it))).ToList();
}
ExecuteByLay(item, list, SelectR3);
_preList = list.ToList();
}
_preExpressionList.Add(item);
_ListCallFunc = new List<Expression>();
return list;
}
private void ExecuteByLay(Expression expression, List<object> list, Func<ISugarQueryable<object>, List<object>> selector)