0
外鍵映射
用下面的數據庫模式:
用戶:用戶ID(主鍵)
的UserInfo:UserInfoID(主鍵),用戶ID(外鍵),[其他用的UserInfo數據列]
實體框架4.1 - 在POCO
User和UserInfo有1-1的關係。我想這個模式映射到以下波蘇斯:
public class User
{
[Key]
public int UserID {get;set;}
public virtual UserInfo userinfo {get;set;}
}
public class UserInfo
{
[Key]
public int UserInfoID {get;set;}
public int UserID {get;set;}
[ForeignKey("UserID")]
public virtual User User {get; set;}
... Other properties of UserInfo...
}
基本上,我希望能夠加載一個用戶對象,並有相關的UserInfo對象現在。這似乎是一個簡單的任務,但我無法找到正確的屬性和/或流利API組合來完成此任務。
編輯:我發現使用戶的UserInfo屬性一個ICollection,然後一切正常。所以我現在的問題是,有沒有辦法避免使用ICollection,因爲我知道用戶將有1或0關聯的UserInfo記錄。
啊,現在有道理。 EF無法分辨UserID是事實關鍵,因此它必須允許UserInfo成爲ICollection。將[key]屬性移動到UserID就有訣竅。 –