如何在此实体框架Linq语句中添加where子句

本文关键字:语句 添加 where 子句 Linq 框架 实体 | 更新日期: 2023-09-27 18:16:05

我已经使用通用的repository/ow模式设置了EF 4.3。

典型的方法是这样的:

using (var uow = new UnitOfWork(ConnectionString.PaydayLenders))
{
    var r = new CrudRepo<Tier>(uow.Context);
    return r.Find()
    .Include("CommissionTiers.MatchService.Provider")
    .ToList();
}

如您所见,我还使用导航属性在fetch中包含其他表。

在这个例子中,一个Tier有很多commissiontier, commissiontier有一个MatchService, MatchService有一个provider。

我想要做的是select where CommissionTier。Status = 1, Provider = 1。是否有一种方法可以将其合并到此语句/方法中?

如何在此实体框架Linq语句中添加where子句

试试这个:

Where(t => t.CommissionTiers
            .Any(ct => ct.Status == 1 && ct.MatchService.Provider == 1))

您可以使用Join来获得所需的功能。