2012-06-28 87 views
0

對於使用實體框架的我的wpf應用程序,我需要將實體屬性添加到實體類之一。例如:有多對多的關係,有兩張桌子和一張裁判桌。將屬性添加到實體框架類

顧客:身份證,姓名,地址。 產品:ID,姓名

CustomerProduct:客戶ID,產品ID

我試圖添加到我的自動生成的實體數據類CUTOMER,屬性colProducts如下:

public partial class Customer 
{ 
    public Products colProducts; 
    public Products ColProducts 
    { 
     get { return colProducts; } 
     set 
     { 
      colProducts = ???? 
     } 
    } 

} 

但我發現了關係丟失。這裏有什麼問題?我怎樣才能得到與客戶相關的產品。我正在這樣做,以促進wpf數據綁定。

回答

0

首先,Entity將創建這些關聯(如果它們存在於數據庫中)(外鍵或多對多表)。如果你有數據庫的控制權,你應該這樣做。它比手動實體方法更簡單,並且幫助數據庫保持有效。

如果您不能或不想,您可以手動創建實體關聯。這些步驟採取from here

  1. 在EF設計選擇任意兩個實體,然後在右鍵菜單中的「添加關聯」選項。
  2. 適當指定每邊的多樣性和建立關聯
  3. 選擇聯想,並選擇「表映射」選項
  4. 現在選擇包含外鍵列,即信息表
  5. 在列列表它會顯示引用的表的主鍵旁邊在我們的例子
  6. 選擇對應的外鍵即從的conversationId在引用實體刪除外鍵的屬性即財產的conversationId郵件中的實體
+0

感謝您的回覆,我已經與CustomerProducts有關聯,但我想通過添加產品屬性來覆蓋實體類。這樣我就可以在一個班上完成。可能嗎 ? – maran87

+0

是的,但這不是一個好主意。您應該在上下文中使用導航屬性,或者在查詢過程中使用「Include()」以確保它們已加載。 – Tyrsius

0

如果CustomerID和ProductID形成表CustomerProduct的複合主鍵,EF應生成適當的多對多關係。

相關問題