簡體   English   中英

C#實體框架Linq在許多表中加入一對多關系

[英]C# Entity Framework Linq Join One to Many relationships in many tables

有沒有一種方法可以利用實體​​框架將多個表中的許多關系綁定到C#Linq中的一個對象中?

在php的Yii框架中,您可以加入具有許多關系的模型。 每個函數都返回獨立模型的預定義數組。

例如,我有多個賣方,多個賣方具有多個客戶,這些客戶具有多個銷售訂單,這些客戶具有多個銷售訂單項目。 有沒有一種方法可以將所有這些數據一起返回1個對象?

還是將多個查詢分開?

我相信,如果您正確地設置了數據模型,EF將自動進行處理。

假設您在表PeopleProjects之間有多對多關系。 如果創建一個名為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM