я нашел этот http://msdn.microsoft.com/en-US/data/jj574232 однако это, кажется, работать только на единое целоеEF6 Загрузка подмножество связанных объектов, основываясь на какой-то фильтр
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();
Поскольку у вас уже есть блог коллекции вы можете сделать что-то вроде –
возможного дубликата [EF: Include с тем, где пунктом] (http://stackoverflow.com/ questions/16798796/ef-include-with-where-clause) –
несколько дублирует, но использует анонимные проекты, чтобы идти на один уровень. Вышеприведенный пример позволит использовать несколько уровней, но, похоже, работает только с одним объектом верхнего уровня за один раз ... Я ищу комбинацию из двух, чтобы анонимные проекты не уродливы при переходе на многоуровневые -filter – DRobertE