如何联合两个 lambda 表达式
本文关键字:表达式 lambda Func 两个 何联 | 更新日期: 2023-09-27 18:31:49
我有两个实体(ChildA
和ChildB
)继承自同一个实体(Parent
)。因此,子实体中的两个表达式如下所示:
Expression<Func<T, Parent>> aExpression =
t=> t.ChildAs.OrderByDescending(o => o.CreatedDate).FirstOrDefault();
Expression<Func<T, Parent>> bExpression = t => t.ChildBs.OrderByDescending(o => o.CreatedDate).FirstOrDefault();
CreatedDate
是实体Parent
字段。我想将这两个表达式结合起来,并对最终表达式设置条件。如何结合这些?
由于我的要求是获得最新的 t 父级,我找不到通过联合的方法。但我可以这样做,
Expression<Func<T, Parent>> latestParentExpression = t => (aExpression.Invoke(t).CreatedDate >= bExpression.Invoke(t).CreatedDate)?aExpression.Invoke(t):bExpression.Invoke(t);