Przyjmijmy, mam te uproszczone EF generowane podmioty ...Entity Framework - Selektywne Stan na zestawie nawigacji obiekt
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;}
}
firm logicznych:
Zamówienie może mieć wiele OP, jeden dla każdy odrębny dostawca na zamówienie (dostawcy są określani na poziomie przedmiotu).
Jak selektywnie uwzględnić jednostki podrzędne?
Podczas wysyłania zapytań o zamówienia, chcę automatycznie dołączyć dziecko do zamówienia i przedmiotu.
to osiągnąć za pomocą include() ...
Context.PurchaseOrders.Include("Orders.Items");
To nie jest praca i ciągnie podmiotów związanych z powrotem, ale Chcę tylko obejmują podmioty elementu, którego VendorID dopasowuje VendorID z następujących Jednostka PurchaseOrder.
W tradycyjnym SQL, po prostu uwzględniłbym to w warunku JOIN, ale EF tworzy je wewnętrznie.
Jakiej magii LINQ można użyć, powiedz EF, aby zastosować warunek, bez ręcznego tworzenia powiązań między obiektami?
Mam nadzieję, że to jako wzmocnienie funkcji w przyszłości. – ctorx
@Matthew - byłyby świetnym dodatkiem do struktury –
więcej niż pięć lat i wciąż nic ... zadziwiające, niezłe z powodu jednej z najbardziej przydatnych funkcji EF może kiedykolwiek ... -.- ' – Shockwaver