實體框架一對一映射問題

entity-framework

使用VS 2010 beta 2,ASP.NET MVC。

我試圖創建一個Entity框架文件,並從我的數據庫中獲取數據。

這些關係存在一些問題,所以我開始調整周圍的事情,但是我為了簡單的一對一關係而不斷收到以下錯誤

錯誤1錯誤113:多重性在關係'FK_UserProfiles_Users'中的角色'UserProfile'中無效。由於Dependent Role屬性不是關鍵屬性,因此Dependent Role的多重性的上限必須為*。 myEntities.edmx 2024

我的Users表包含與其他表的一些其他多對多關係,但是當我嘗試與其他表建立一對一的關係時,會彈出該錯誤。

用戶表

  • 用戶身份
  • 用戶名
  • 電子郵件

等等..

UserProfiles表

  • UserProfileID
  • UserID(用戶表的FK)
  • 地點
  • 生日

一般承認的答案

對於一對一關係,EF期望表使用相同的主鍵。而且,如果這是真正的一對一,他們可能應該這樣做 。因此,在您的示例中,如果您將UserID設置為UserProfiles表上的主鍵,那麼您的一對一將起作用。


熱門答案

我有一個類似的問題,但有一個銷售和layby場景。

沒有銷售就可以存在閒置,並且可以在沒有閒置的情況下進行銷售。這意味著我有0或10或1的關係。

Layby引用銷售,但是layby不能使用Sale的主鍵,而Sale不能使用Layby的主鍵。

我通過使用0或1多的關係來解決問題,將銷售中的'Laybys'getter和setter配置為私有,然後在我的POCO中提供我自己的'Layby'getter和setter。



Related

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