【发布时间】:2016-05-20 18:55:26
【问题描述】:
我一直在互联网上寻找解决问题的方法,但还没有找到任何可行的方法。
我有一个像这样选择新 DTO 的查询:
List<myDTO> query = (from c in db.Customers
.Include(x => x.Orders)
where customerId = 5
select new myDTO
{
Customer = c,
...
}).ToListAsync();
foreach (var custDto in query)
{
//this is lazy loaded
var customerOrder = custDto.Customers.Orders;
}
我的问题是当我尝试导航到 query.Customers.Orders 时,它是延迟加载的。我想急切地加载 Orders 属性,这样它在循环访问客户时不会多次访问数据库。我认为包含会急切加载导航属性。
我知道我可以在 myDTO 中放置一个 order 属性并以这种方式加载它,但我很好奇是否可以采用上述方式。
谢谢!
【问题讨论】:
标签: c# asp.net entity-framework linq linq-to-entities