我正在学习实体框架,我遇到了问题!
有人可以澄清我是否正确地认为我无法从数据库中获取父母及其子集的子集?
例如...
db.Parents
.Include(p => p.Children)
.Where(p => p.Children.Any(c => c.Age >= 5))
Run Code Online (Sandbox Code Playgroud)
这将返回所有有5岁以上孩子的父母,但如果我遍历Parents.Children集合,所有孩子都将在场(不仅仅是5岁以上的孩子).
现在查询确实对我有意义(我已经要求包含子项,我已经得到了它们!),但可以想象我想在某些场景中将where子句应用于子集合.
问题:
我找到了一些关于这个主题的博客和SO帖子,但没有什么能够解释我的小脑袋.
编辑
读过这个博客(感谢Daz Lewis).......我仍然没有得到它!
在博客中给出的示例中,我可以看到如何针对单个Parent实例实现它,但我正在努力弄清楚如何使用集合来实现它.
我怎么能得到一个IEnumerable,其中每个父母都有一个过滤的儿童集合(年龄> = 5)?
进一步澄清:
在回答DonAndre的评论时,我追问的是a)有5岁以上孩子的父母名单(仅包括那些孩子).
任何帮助,赞赏,
谢谢.