我发现这个http://msdn.microsoft.com/en-US/data/jj574232但是这似乎只适用于单个实体
var blog = context.Blogs.Find(1);
// Load the posts with the 'entity-framework' tag related to a given blog
context.Entry(blog)
.Collection(b => b.Posts)
.Query()
.Where(p => p.Tags.Contains("entity-framework")
.Load();
由于博客不仅仅是一个实体......而是一个集合本身。有谁知道如何重写这个.Entry正在博客集合上运行。我找不到任何关于这样的事情的文件
这意味着您不必特别抓取一个并对其进行操作,但它会循环遍历每个并执行操作。
context.Blogs.ForEach(entity in Blogs).Collection(b => b.Posts)
.Query()
.Where(p => p.Tags.Contains("entity-framework")
.Load();
答案 0 :(得分:0)
您只能为一个实体加载相关的Explicitly
。如果需要为多个实体加载相关数据,则必须加载相关数据Eagerly
。
答案 1 :(得分:0)
我认为这应该可以解决问题:
var posts = context.Blogs
.SelectMany(x => x.Posts)
.Where(x => x.Tags.Contains("entity-framework");