試圖將實體框架中的兩個關係從多對一更改爲多對多關係。所以我嘗試了一些顯而易見的事情:點擊圖表上的每個關聯,相應地更改關聯的適當端點,然後將導航屬性的名稱更改爲複數以反映更改。實體框架中的正確關聯映射
這導致下面的生成錯誤,或者每一個爲我做了兩個變化:在映射 片段起始於線 1761問題::潛在的運行時違反 表的
錯誤3002 CustomerServices的鍵 (CustomerServices.Id):列 (CustomerServices.Id)映射到 EntitySet的 CompiledDatabaseCustomerService的 性質 (CompiledDatabaseCustomerService.CustomerService.Id) 概念的一面,但他們不 形式的EntitySet的關鍵特性, (CompiledDatabaseCustomerService.CompiledDatabase.Id, CompiledDatabaseCustomerService.CustomerService.Id)
我不完全知道爲什麼發生這種情況,所以我unsurprisngly修理它沒有太多的運氣。我試圖擺弄映射的細節和增加參考約束無濟於事。任何人都指向正確的方向?
歡呼聲, 馬特
感謝您的期待。我實際上沒有觸及關鍵映射,所以這似乎不太可能解決問題:我所做的所有事情都改變了現有關聯的一端。當你說直接查看映射時,你的意思是檢查Designer.cs文件? – 2011-01-11 16:25:31
@Matt - 右鍵點擊實體圖表中的表格並選擇「表格映射」,查看錶格映射。在列映射下查看並確保它們被適當映射。 (順便說一句,我不積極,我的建議會幫助你(我希望他們這樣做),但那些是我看到過的這樣的問題的兩個方面。) – JasCav 2011-01-11 16:38:03