2013-08-30 67 views
0

我有以下表格:EF關係到複合PK

  • 銷售(ID,...)
  • 產品(ID,...)
  • ProductSales(產品ID,SaleID ,...)

基本上銷售是在特定日期組織的,產品可以在銷售中(可能同時在多個銷售中)。

現在,當用戶將產品添加到購物車時,我會記錄產品ID和銷售ID。

  • CartItems(產品ID,SaleID,...)

所以一個CartItem指向一個產品以及對銷售。但由於(ProductID,SaleID)是ProductSales的主鍵,因此也可以說CartItem指向ProductSale。

此關係(訪問ProductSale)可以映射到實體框架(v5,數據庫優先)嗎?

+0

你是指同一個表上有多個外鍵? –

+0

如果你要'數據庫優先',嘗試打開設計器,從數據庫創建,檢查生成的模型,看看你是否喜歡結果。 – haim770

+0

我已經完成了這項工作,但設計師創建了一個與產品的關係,另一個是銷售但不是ProductSales。 –

回答

1

好吧,我解決了它。從數據庫更新模型時不會自動創建關聯,但可以手動添加關聯。

  • 用鼠標右鍵單擊設計師並選擇添加關聯
  • 在左側選擇CartItem實體的許多多重,在左側選擇ProductSale實體的的多樣性。根據需要命名導航屬性。
  • 在設計器中選擇關聯並轉至其屬性。
  • 參照約束,設置ProductSale並設置從屬CartItem。在以下按鍵映射中,地圖銷售IDSaleID產品ID產品ID