实体框架:选择其子实体具有特定标志集的所有实体

时间:2012-04-13 13:50:10

标签: c# .net linq entity-framework linq-to-entities

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

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

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

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元素,仅包括tier3设置为isActive的{​​{1}}个实体?

true

1 个答案:

答案 0 :(得分:4)

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

var myTiers = context.Tier1s
    .Where(tier => tier.t2.Any(tier2 => tier2.t3.isActive))
    .ToList();