1

似乎我不允許發佈圖片,所以讓我描述一下圖片。它是一個顯示4個表之間關係的SQL表格圖。該表是:實體框架6 - 多對多表格附加信息

  1. 人民
    • 編號
    • 名字
  2. PHONENUMBERS
    • 編號
  3. PhoneNumberTypes
    • 編號
    • 名稱
    • 說明
  4. PeoplePhoneNumbers
    • PERSONID
    • PhoneNumberTypeId
    • PhoneNumberId

兩個主表是People和PhoneNumbers。還有一個PhoneNumberTypes描述PhoneNumber類型(家庭,工作等)。

PeoplePhoneNumbers表用作People和PhoneNumbers之間的多對多關係表。但是它也連接到PhoneNumberTypes來描述關係。

我一直想弄清楚如何處理這個實體框架,因爲EF不允許你添加額外的信息到關聯(多對多)表。

除了PhoneNumberType信息,我還發現他們有更多的數據分片我需要在關聯表來記錄,如「開始日期」,「結束日期」等

唯一的解決辦法我已經拿出到目前爲止,在EF中創建一個實體,將PhoneNumberTypes,PhoneNumbers和PeoplePhoneNumbers中的字段組合到一個實體中。然後使用SQL存儲過程進行CRUD操作。

我寧願更多的EF中心解決方案。有人知道嗎?

回答

0

PhoneNumberTypes不應鏈接到PeoplePhoneNumbers。讓PeoplePhoneNumbers成爲它是唯一的,並且只是一個聯結表。 PhoneNumberTypes應該連接到PhoneNumbers。 EF應該能夠按照慣例創建此設置。描述電話號碼的其他信息也應該關聯PhoneNumbers。這種設計遵循更多的領域驅動設計(DDD)原則,並且也產生更好的數據庫設計。