想象三个实体(客户,图书,作者)相关的是这样的:我如何热切地将实体的子代和孙代元素包含在实体框架代码中?
客户有许多书籍
一本书有一个作者
我使用这些数据来打印这样的报告:
Customer: Peter
Book: To Kill a Mockingbird - Author: Harper Lee
Book: A Tale of Two Cities - Author: Charles Dickens
Customer: Melanie
Book: The Hobbit - Author: J. R. R. Tolkien
当我查询的客户,我得到,正如所料,一堆以下性质的查询
- 查询获得客户
- 每位客户查询得到他的书籍
- 每本书的查询,以获得其作者
我可以通过包括像这样的本本减少查询的次数:
var customers = db.Customers.Include(c => c.Books);
但我不知道如何加载第三级(作者)。我怎样才能做到这一点?
亦幻串一个好主意? – LINQ 2016-07-26 21:33:18
@jbueno如果可能的话,我会避免它们,因为如果您更改客户属性的名称,它们不会被编译器捕获。 – Ravvy 2016-12-16 00:42:34
根据@ tdykstra的回答,您可以使用'Select'。 – 2016-12-28 13:46:32