假设我有这些简化EF生成的实体选择性条件...实体框架 - 包括上导航属性
public class PurchaseOrder
{
public int POID {get;set;}
public int OrderID {get;set;}
public int VendorID {get;set;}
public IEnumerable<Order> Orders {get;set;}
}
public class Order
{
public int OrderID {get;set;}
public decimal Price {get;set;}
public IEnumerable<Item> Items {get;set;}
}
public class Item
{
public int OrderID {get; set;}
public string SKU {get;set;}
public int VendorID {get;set;}
public Order Order {get;set;}
}
业务逻辑:
一个订单可以有多个POS,一个用于订单上的每个不同供应商(供应商均在项目级别确定)。
如何选择性地包含子实体?
当查询PO时,我想自动包含Order和Item的子实体。
我做到这一点,利用包括()...
Context.PurchaseOrders.Include("Orders.Items");
但这是工作,拉回到相关的实体,但是,我只想包括项目实体的厂商ID的的厂商ID匹配PurchaseOrder实体。
对于传统的SQL,我只是将它包含在JOIN条件中,但EF在内部构建它们。
我可以使用什么LINQ魔术来告诉EF应用条件,而无需手动创建实体之间的JOIN?
我希望看到这是在未来增强功能。 – ctorx
@Matthew - 他们对框架 –
超过五年是一个很好的补充,但仍然没有什么......令人惊讶的是,对于EF可能具有的最有用功能之一来说这不是一件坏事...... -.-“ – Shockwaver