Skip to content

Commit c1882cd

Browse files
2881028810
authored andcommitted
- 修复 IncludeMany 第3层无法加载的问题,IncludeMany(a => a.Parent.Parent.Childs);
1 parent 74f8700 commit c1882cd

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ static NaviteTuple<ParameterExpression, List<MemberExpression>> GetExpressionSta
372372
{
373373
Expression tmpExp = exp;
374374
ParameterExpression param = null;
375-
var members = new List<MemberExpression>();
375+
var members = new Stack<MemberExpression>();
376376
var isbreak = false;
377377
while (isbreak == false)
378378
{
@@ -381,7 +381,7 @@ static NaviteTuple<ParameterExpression, List<MemberExpression>> GetExpressionSta
381381
case ExpressionType.MemberAccess:
382382
var memExp = tmpExp as MemberExpression;
383383
tmpExp = memExp.Expression;
384-
members.Add(memExp);
384+
members.Push(memExp);
385385
continue;
386386
case ExpressionType.Parameter:
387387
param = tmpExp as ParameterExpression;
@@ -392,7 +392,7 @@ static NaviteTuple<ParameterExpression, List<MemberExpression>> GetExpressionSta
392392
}
393393
}
394394
if (param == null) throw new Exception($"表达式错误,它的顶级对象不是 ParameterExpression:{exp}");
395-
return NaviteTuple.Create(param, members);
395+
return NaviteTuple.Create(param, members.ToList());
396396
}
397397
static MethodInfo GetEntityValueWithPropertyNameMethod = typeof(EntityUtilExtensions).GetMethod("GetEntityValueWithPropertyName");
398398
static ConcurrentDictionary<Type, ConcurrentDictionary<string, MethodInfo>> _dicTypeMethod = new ConcurrentDictionary<Type, ConcurrentDictionary<string, MethodInfo>>();

0 commit comments

Comments
 (0)