考虑3个实体。 Group
,Box
和Message
。每个组包含框,每个框包含消息。在L2E中选择/过滤嵌套集合
什么用lambda表达式来检索定制条件一个集团内部的消息在Linq到Entitis最巧妙的方法?
例如,我想选择某个组中昨天提交的消息(因此,resultr应该是IEnumerable<Message>
)。我怎样才能做最少的数据库调用,并筛选出我的数据库查询结果?
更新
得到了不显示我的代码downvote。那是因为我没有。问题很简单。不是作业。没想到!
考虑3个实体。 Group
,Box
和Message
。每个组包含框,每个框包含消息。在L2E中选择/过滤嵌套集合
什么用lambda表达式来检索定制条件一个集团内部的消息在Linq到Entitis最巧妙的方法?
例如,我想选择某个组中昨天提交的消息(因此,resultr应该是IEnumerable<Message>
)。我怎样才能做最少的数据库调用,并筛选出我的数据库查询结果?
更新
得到了不显示我的代码downvote。那是因为我没有。问题很简单。不是作业。没想到!
假设你已经在你的数据库外键和导航性能在你因为这个模型,下面的代码应该做的伎俩:
var messages = context.Groups
.SelectMany(g => g.Boxes
.SelectMany(b => b.Messages
.Where(m => m.Date ==
yourDate)
)
);
你只需把它们
from g in group
join b in boxes on g.id = b.groupid
join m in messages on b.id = m.boxid
where m.Date = your date
select m
之间连接查询
虽然我说我有兴趣看到它使用lambda表达式,但谢谢你的解决方案。 – Kamyar
@Kamyar - 如果你想去尝试丹尼尔解决方案,因为selectmany会使senese –