2

我有一個包含三個表的實體上下文。第一個是包含產品的表格,第二個包含食譜。加入表中有兩個產品和食譜表中的ID字段以及一個名爲「精選」的「位」字段。實體框架多對多連接表上的其他字段

我搜索了一下,發現沒有例子說明如何只插入如何選擇這種類型的場景。任何人有任何建議如何做到這一點?預先感謝您的幫助。

+0

您能否在一句話中清楚地陳述您的目標? – 2009-11-24 02:28:54

+2

我想插入一個多對多的數據結構,在連接表上有附加字段。 – 2009-11-24 14:32:16

回答

2

我沒有做C#的一段時間,所以我不知道我的語法是有效的,反正這應該是想法:

Products product = new Products { Blah, Blah, Blah }; 

bool flag = false; 
for (int i = 0; i < 5; i++) 
{ 
    Products_Receipes pr = new Products_Receipes 
            { Products = product, IsFeatued = flag }; 
    pr.Receipes.Add(new Receipes()); 
    pr.Receipes.Add(new Receipes()); 
    flag = !flag; 
} 
Context.SaveChanges(); 

如果上述不工作,然後讓我只是告訴你,你必須創建主項目(產品或食譜),然後當你創建Products_Receipes設置它的Products/Receipes屬性到上面(或通過Products.Pruducts_Receipes.Add(pr)),然後以相同的方式添加關係的另一側。

+0

謝謝!我會試試看。 c – 2009-11-24 14:32:48

+0

它的工作。感謝您的幫助 – 2009-11-24 15:14:44

+0

考慮投票/將問題標記爲已回答。 – Shimmy 2009-11-24 16:08:56

0

一個觀察結果是,您的圖更像是一個DB模式而不是一個實體圖。實體的設計應該滿足獨立於數據存儲結構的業務需求,因此您可以使用任何數據庫來存儲數據。

我相信你可以刪除「鏈接」實體,並建立產品和食譜之間的一對多或多對多關聯。然後設置您的數據庫模式w /鏈接表,並做相應的表映射。

+0

唯一的問題是連接表中有其他列。以下是另一個示例,其中連接表具有其他數據: http://thedatafarm.com/LearnEntityFramework/files/media/image/WindowsLiveWriter/ManytoManyRelationshipsintheEntityDataMo_852F/m2m3_thumb.png – 2009-11-24 14:27:43