我有两个表达式,我想将它们链接起来,以便生成的表达式包含两个输入表达式。
Expression<Func<IQueryable<Material>, object>> expression1 = x => x.Include(m => m.MaterialGroup);
Expression<Func<IQueryable<Material>, object>> expression2 = x => x.Include(m => m.MaterialSomething);
var expression3 = expression1.Update(expression2.Body, expression2.Parameters);
现在expression3
只包含x => x.Include(m => m.MaterialSomething)
所以它覆盖了第二个表达式。我希望它是x => x.Include(m => m.MaterialGroup).Include(m => m.MaterialSomething)
。
我打算实现的是以编程方式加入多个包含表达式,以便能够为 EF Core 中的即时加载构建更高效的系统。
编辑:这不是 ANDing、ORing 等问题,因为我希望将这些表达式链接起来(如点链接),而不是逻辑连接。
丹尼尔