将表达式与 Linq 一起使用



所以我有以下linq查询:

var query = from s in context.vw_ActiveLabs
join w in context.Worker on s.WWID equals w.WWID
join o in context.Org on w.OrgKey equals s.OrgKey
group ...

我有一个Expression<Func<Org, bool>>变量,我想将其用于 where 子句。 尽管使用这种样式的linq查询,我不知道如何做到这一点。

所以理想情况下,我会做这样的事情:

Expression<Func<Org, bool>> orgFilter = ...;
var query = from s in context.vw_ActiveLabs
join w in context.Worker on s.WWID equals w.WWID
join o in context.Org on w.OrgKey equals s.OrgKey
where orgFilter(o) == true
group ...

也许从 Org 构建您的查询:

Expression<Func<Org, bool>> expression = @org => true;
Org.Where(expression.Compile())
.Include(item => item.Worker)
.ThenInclude(item => item.vw_ActiveLabs);

最新更新