這是Code-First。EF6如何映射這個零或一對一關係
什麼是這種關係的正確流利或數據註釋?
獲取EF映射錯誤: 無法確定類型「Model.SchoolInfo」和「Model.School」之間關聯的主體端。該關聯的主要目的必須使用關係流暢API或數據註釋來顯式配置。
如果我添加
modelBuilder.Entity<School>().HasOptional(s => s.SchoolInfo).WithRequired(ss => ss.School);
我得到這個錯誤:模型生成過程中檢測到 一個或多個驗證錯誤:School_SchoolInfo_Target:多重不是在關係中的作用「School_SchoolInfo_Target「School_SchoolInfo」有效。因爲「依賴角色」屬性不是關鍵屬性,所以「依賴角色」的多重性的上界必須爲「*」。
SQL表
table School
(
int SchoolId not null PK
)
table SchoolInfo
(
int SchoolInfoId not null PK IDENTITY
int SchoolId not null FK UNIQUE
)
模型
class School
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
int schoolId;
virtual SchoolInfo SchoolInfo;
}
class SchoolInfo
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
int schoolInfoId;
int schoolId;
virtual School School
}
爲什麼你問同樣的問題[兩次](http://stackoverflow.com/questions/37349886/EF-是映射到最錯誤的按鍵上的實體)? –