我有2个实体Book
和Borrow
,如果我获取 1。。在一个查询中包含Book
个实体的列表,然后获取 2。 另一个Borrow
实体的列表中,如何使用LINQ建立这样的列表?
书籍清单:
Book.Borrows
Book.Borrows
Book.Borrows
Book.Borrows
因此,每个Book
都有从获取Borrow
列表的第二次查询映射到它的借项列表。
导航属性:
Borrow
类:
public virtual Book Book { get; set; }
Book
类:
public virtual List<Borrow> Borrows { get; set; }
答案 0 :(得分:1)
无需进行2个查询。您只需要一个即可完成。您可以在单个查询中引用两者。首先使用导航属性。因此,您也可以轻松地遍历相关对象。
context.Books
.Include("Borrows") // If you have lazy loading
.Where(..some condition...)
.Select(b => new BookModel
{
BookName = b.Name,
Borrows = b.Borrows.Select(...select properties...).ToList()
}