2010-05-17 110 views
0

喜有2个任务和missiondays有关系1..1选择宽度实体框架和LINQ

我要选择具有所有missiondays与所谓的“可见” =真

我的属性的所有任务已经尝试过:

db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.visible == true) 

但是有一个错误。事实上,从p.TDP_MissioniDestinazioni我没有看到表的属性。我认为这是因为这种关系是1..n。

我该怎么做?

感谢

回答

0

由于关系是1:N,所述TDP_MissionDestinazioni应missiondays的集合。试试这个:db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.All(d => d.visible))

0

以上是使用Lambda表达式而不是LINQ。尝试:

var query = from m in db.TDP_Missioni 
      where m.TDP_MissioniDestinazioni.Any(md => md.Visible) 
      select m; 

还是要解决上述所有你需要做的拉姆达查询是使用类似:

db.TDP_Missioni.Include("TDP_MissioniDestinazioni"). 
    Where(p => p.TDP_MissioniDestinazioni.Any(d => d.Visible)); 

TDP_MissioniDestinazioni相对于TDP_Missioni表的集合(基于关系),因此您需要遍历每个记录,以便能够访问每个MissionDay的visible属性。