0

这应该是一个容易回答的问题,尽管我无法真正弄清楚。情况如下:

我使用实体框架 4.1 作为 ORM,使用 Code First。我已经定义了一个非常复杂的对象模型,到目前为止一切正常。

我的模型的一部分看起来像这样(为了清楚起见,省略了不重要的部分):

public class Tier1
{
public virtual ICollection<Tier2> t2 {get; set;}
}

public Class Tier2
{
public virtual Tier3 t3 {get; set;}
}

public Class Tier3
{
public bool isActive
}

如何制定我的语句以检索仅包括已设置为的实体的tier1元素?tier3isActivetrue

context.Tier1s.Where(???)
4

1 回答 1

4

我假设 tier2 只有一个 tier3 是吗?在您的代码中似乎是这样。如果是这样试试这个:

var myTiers = context.Tier1s
    .Where(tier => tier.t2.Any(tier2 => tier2.t3.isActive))
    .ToList();
于 2012-04-13T13:56:09.413 回答