假設我有這些簡化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