2012-05-31 85 views
1

我會盡力解釋我的問題,雖然說實話我甚至不能理解它。在我的數據庫中的幾個表中進行了許多更改後,我嘗試創建一個外鍵,並在更新EDMX時出現此錯誤。實體框架數據庫 - 首先與SQL服務器

gHOP.msl(410,10):錯誤3007:問題在映射片段起始於線410,
1511:非主鍵列(s)實施UserGUID]被映射在兩個片段不同的概念側屬性 - 數據 不一致是可能的,因爲相應的概念側屬性可以獨立修改。

gHOP.msl(1511,6):錯誤3012:從行410,1511開始映射片段時出現問題:在Itinerary.UserGUID中可能會丟失數據。 一個與密鑰(PK)的實體將不會往返時: (PK不AssociationSet「FK_Itinerary_Users」發揮作用「行程」和PK是「行程」的EntitySet)

gHOP.msl(410,10 ):錯誤3012:從行410,1511開始映射片段時出現問題:在Itinerary.UserGUID中可能會丟失數據。 一個與密鑰(PK)不會往返實體時: (PK是「行程」的EntitySet和PK不AssociationSet「FK_Itinerary_Users」發揮作用「行程」和Entity.UserGUID 不是NULL)

老實說,這是一場噩夢,因爲我不明白髮生了什麼事情。雖然我已經放棄了,但如果有人能夠至少給我一個提示,我將不會創建FK,我會很感激。

感謝

+0

它似乎錯了/非主鍵列被映射爲關係中的外鍵。對於關係'FK_Itinerary_Users',你能確認一端是表的主鍵嗎? – rt2800

+0

是的,UserGUID是PK的用戶表 – mitomed

+0

你可以給出更多關於表結構和參與外鍵關係的PK和列的細節嗎? – rt2800

回答

5

不知道你有多少接入/控制有過的模式,但我在數據庫中更新的實體時,然後嘗試更新模型之前所遇到類似的問題。我通常只是從你在db中編輯的模型中刪除實體!沒有他們重建。然後在構建之後重新添加它們。我發現在db中進行結構/關係更改時,Visual Studio並不總是成功更新模型。

+0

謝謝daveL,我已經試過這個,它建立並運行,但再次後我不能添加FK。我會在代碼中使用LINQ表達式來處理它。我同意你關於VS和模型的變化 – mitomed

相關問題