使用EF 4,POCO和LINQ;从ManyToMany关系中选择最简洁的方法是什么?

时间:2011-01-05 22:34:52

标签: entity-framework-4

我正在尝试找到从多对多结构中检索数据的最简洁方法。

我的例子是你有书籍和图书馆。一本书可以属于许多图书馆,图书馆可以包含许多书籍。如果我有一个库列表(数组),如何检索库列表中的唯一列表。

我觉得这段代码应该可行,但没有运气......

Library[] libraries = some list of library ids;
List<Books> books = context.Books
                    .Where(b => libraries.Contains(b.Library.Id)
                    .ToList();

问题是,当我输入“b.Libraries”时,它给了我一个列表选项,并且不允许我与Library.Id进行比较。

非常感谢任何建议或想法。

1 个答案:

答案 0 :(得分:1)

离开我的头顶,未经测试 - 试试这个:

List<Library> libraries; // pre-populated
var booksInLibraries = context.Books
                              .Where(x => libraries.Any(y => y.Id == x.Library.Id))
                              .Distinct()
                              .ToList();