[英]Early loading in dotnet Entity Framework
I have 3 model classes as follows - 我有3个模型类,如下所示-
class Product
{
...
}
class OrderDetails
{
...
public int ProductId { get; set; }
[ForeignKey("ProductId")]
public virtual Product Product { get; set; }
public int OrderId { get; set; }
[ForeignKey("OrderId")]
public virtual Order Order { get; set; }
}
class Order
{
...
public virtual ICollection<OrderDetails> OrderDetailsList { get; set; }
}
When I fetch the details from the context like as follows - 当我从上下文中获取详细信息时,如下所示:
Order order = await _dbContext.Orders.Include(x => x.OrderDetailsList).FirstOrDefault(x => x.Id == orderId);
I would like to do the early loading of the Product
for each data in OrderDetailsList
as well when I fetch the Order
, but I'm unable to achieve this. 当我获取
Order
,我也想尽早为OrderDetailsList
每个数据加载Product
,但是我无法实现。
Does this work? 这样行吗?
Order order = await _dbContext.Orders
.Include(x => x.OrderDetailsList.Select(od=>od.Product))
.FirstOrDefault(x => x.Id == orderId);
这对我来说很好用,请尝试一下。
_dbContext.Orders.Include(s => s.OrderDetailsList.Select(e => e.Product));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.