添加實體模型時出現錯誤3007

entity-framework entity-relationship

當我將實體模型添加到我的解決方案時,我收到錯誤3007。

我找到了這些鏈接:

好的探索

簡短的回答

關於此錯誤:

錯誤1錯誤3007:從第89,94行開始映射片段中的問題:非主鍵列[Person_ID]正在兩個片段中映射到不同的概念側屬性 - 數據不一致是可能的,因為相應的概念側屬性可以獨立修改。

他們的回答:我同意他們的結論,即只需刪除標量屬性Person_ID並保留導航屬性我的問題就解決了。然而,由於我正在動態構建我的數據庫並且我的實體經常更新,因此這不是很可擴展。我不希望每次更新它時都要經歷並清理我的實體。

我的問題:有沒有辦法通過糾正EF構建實體的方式來修復錯誤?或者有沒有辦法通過代碼刪除Scalar屬性?也許甚至有一些我可以忽視的選擇。

一般承認的答案

我對EF v1的體驗與您的相似。如果EDM生成不正確而您無法解決問題,則必須手動編輯EDM。 EF v.Next(我相信實體框架v4)將支持“僅代碼”實體數據模型,EDM設計師應該會更好。一個或另一個改進應該讓我們的生活更輕鬆。直到那時...


熱門答案

嘗試使用實體模型設計從實體集中刪除外部屬性列,它將解決您的問題

例如

我們有兩個表,一個是客戶 ,另一個是訂單 ,使用實體模型設計我們在客戶和訂單之間添加了關聯,當我們這樣做Ado.net實體框架時,我將向下面的表添加導航屬性。

與Customer.Orders一樣 - 此處的訂單是Order.Customer

一個 - 很多關係。

因此,我們需要從Order實體集中刪除名稱為CustomerId [Foreign key column]的屬性。

以供參考:

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/2823634f-9dd1-4547-93b5-17bb8a882ac2/



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因