首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择宽度实体框架和linq

选择宽度实体框架和linq
EN

Stack Overflow用户
提问于 2010-05-17 17:14:53
回答 2查看 339关注 0票数 0

您好,我有2个表任务和传教日,关系为% 1..n

我希望选择所有任务,其中所有任务的宣传日都具有名为"visible“= true的属性

我已经尝试过了:

代码语言:javascript
复制
 db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.visible == true)

但是有一个错误。实际上,在p.TDP_MissioniDestinazioni中,我看不到表的属性。我想这是因为关系是1..n。

我该怎么做呢?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2010-05-17 17:22:34

试试这个:db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.All(d => d.visible))

票数 0
EN

Stack Overflow用户

发布于 2010-05-17 17:24:44

上面使用的是Lambda表达式,而不是LINQ。尝试:

代码语言:javascript
复制
var query = from m in db.TDP_Missioni
            where m.TDP_MissioniDestinazioni.Any(md => md.Visible)
            select m;

或者,要修复您的lambda查询,您需要做的就是使用如下内容:

代码语言:javascript
复制
db.TDP_Missioni.Include("TDP_MissioniDestinazioni").
    Where(p => p.TDP_MissioniDestinazioni.Any(d => d.Visible));

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2847808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档