如何结合两个lambda Expression <func> </func>

时间:2013-09-18 08:09:59

标签: c# entity-framework lambda

我有两个实体(ChildAChildB)继承自同一个实体(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();

CreatedDateParent实体中的字段。我想结合这两个表达式并在最终表达式上加上条件。如何结合这些?

1 个答案:

答案 0 :(得分:0)

由于我的要求是获得t的最新家长,我找不到通过工会做到这一点的方法。但我可以这样做,

Expression<Func<T, Parent>> latestParentExpression = t => (aExpression.Invoke(t).CreatedDate >= bExpression.Invoke(t).CreatedDate)?aExpression.Invoke(t):bExpression.Invoke(t);