避免使用Join(LinQ)进行迭代

时间:2011-01-05 13:21:19

标签: linq entity-framework-4 linq-to-entities

这不是最好的标题,我知道。

我有这个代码,它看起来很糟糕。有没有更好的方法来写这个?

foreach (Agency agency in local.Agencies.GetAll().Where(a => a.Active).Where(a => a.Mandatory))
{
    if (agencies.Where(a => a.AgencyId == agency.Id).Any())
    {
        mandatoryFound = true;
        break;
    }
}

所以local是我的EF上下文,而agencies是客户端发送的列表。我需要检查是否在该列表中发送了至少一个强制性代理商。

1 个答案:

答案 0 :(得分:0)

mandatoryFound = local.Agencies.GetAll().Where(a => a.Active && a.Mandatory && agencies.Any(ag => ag.AgencyId == a.Id)).Any()