您好,我有2个表任务和传教日,关系为% 1..n
我希望选择所有任务,其中所有任务的宣传日都具有名为"visible“= true的属性
我已经尝试过了:
db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.visible == true)但是有一个错误。实际上,在p.TDP_MissioniDestinazioni中,我看不到表的属性。我想这是因为关系是1..n。
我该怎么做呢?
谢谢
发布于 2010-05-17 17:22:34
试试这个:db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.All(d => d.visible))
发布于 2010-05-17 17:24:44
上面使用的是Lambda表达式,而不是LINQ。尝试:
var query = from m in db.TDP_Missioni
where m.TDP_MissioniDestinazioni.Any(md => md.Visible)
select m;或者,要修复您的lambda查询,您需要做的就是使用如下内容:
db.TDP_Missioni.Include("TDP_MissioniDestinazioni").
Where(p => p.TDP_MissioniDestinazioni.Any(d => d.Visible));与TDP_Missioni表相关的TDP_MissioniDestinazioni是一个集合(基于关系),因此您需要遍历其中的每条记录,以便能够访问每个MissionDay的visible属性。
https://stackoverflow.com/questions/2847808
复制相似问题