2013-02-17 113 views
1

現在這可能是一個愚蠢的問題,但它讓我很頭疼。EF數據庫第一多對多

我想要完成的是爲EF生成M-M關係的2個對象。 MaterialProduct。 產品有很多材料,一種材料可以在多種產品中找到。關鍵是材料可以用kg進行測量,我需要知道一種材料在其產品中所佔的體積。 注意:材料可以存在,沒有產品,產品不能沒有材料存在。

這是我提出的最初設計,但它顯然不起作用。

[Material] [Product] [MaterialInProduct] 
ID *PK  ID *PK  ProductID *FK    __together these two fields are primary key   
Code  Code   MaterialID *FK    for this table 
Name  Name   QuantityOfMaterialInProduct 
Price  Quantity 
Unit  Unit 
Quantity 

所以我的問題是,如何正確添加QuantityOfMaterialInProduct場,因爲沒有它的DbContext工具正確生成的一切。

+1

文檔,你可以沒有很多一對多當有聯接表附加字段關聯。就是那樣子。 – 2013-02-17 10:53:47

回答

4

不是讓EF創建多對多關聯,而是自己定義MaterialInProduct實體。您可以將其映射爲具有由ProductId和MaterialId(具有關聯的導航屬性)組成的組合鍵。這樣做,您可以輕鬆添加任何其他字段。

你可以找到自定義映射here

+0

我試着googleing手動映射的一些教程,但運氣不好。你能分享一些嗎? – rexdefuror 2013-02-17 19:52:44

+0

我編輯了我的答案以鏈接到文檔。映射組合鍵就在頂部附近。 – 2013-02-18 03:35:47

+0

謝謝我解決了它! – rexdefuror 2013-02-19 10:41:19