[英]C# Entity Framework Linq Join One to Many relationships in many tables
有沒有一種方法可以利用實體框架將多個表中的許多關系綁定到C#Linq中的一個對象中?
在php的Yii框架中,您可以加入具有許多關系的模型。 每個函數都返回獨立模型的預定義數組。
例如,我有多個賣方,多個賣方具有多個客戶,這些客戶具有多個銷售訂單,這些客戶具有多個銷售訂單項目。 有沒有一種方法可以將所有這些數據一起返回1個對象?
還是將多個查詢分開?
我相信,如果您正確地設置了數據模型,EF將自動進行處理。
假設您在表People
和Projects
之間有多對多關系。 如果創建一個名為PeopleProjects
的表,該表只有兩個字段是這兩個表的外鍵,則EF將在People
對象上創建一個“ Projects”集合屬性,並在“ Projects”對象上創建一個“ People”集合屬性。
如果您要確保不涉及延遲加載,可以采用以下方法將所有這些東西收集到一個巨大的對象圖中:
var obj = dbContext.Sellers.Include(
r => r.Customers.Select(
r2 => r2.SalesOrders.Select(
r3 => r3.Items
)
)
).SingleOrDefault(seller => seller.Id == id)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.