c# - 如何合并两个 lambda Expression<Func>

标签 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中的一个字段实体。我想合并这两个表达式并对最终表达式设置条件。如何联合这些?

最佳答案

由于我的要求是获取 t 的最新父级,所以我找不到通过联合来完成的方法。但我可以这样做,

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

关于c# - 如何合并两个 lambda Expression<Func>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18866984/

相关文章:

c# - ASP.NET Core 2 的 Visual Studio Code 调试器不适用于不同的端口

c# - 加载后删除程序集

java - 使用 lambda 和流映射列表对象

c# - 具有多个 edmx 的 Entity Framework

.net - Entity Framework 4,继承与扩展?

c# - 在 C# 中使用 Lambdas 取消 Hook 事件

java - 如何引用 Lambda?

c# - C# 数组的 Visual Studio 格式说明符?

c# - 如何使用 AutoMapper 将可空属性映射到 DTO?

c# - Entity Framework 6/SQL Server CE 4 SaveChangesAsync()