我使用實體框架時,出現以下錯誤:實體框架的關係錯誤
Unable to determine the principal end of an association between the types
'xxx.Domain.Entities.UserSettings' and 'xxx.Domain.Entities.User'. The
principal end of this association must be explicitly configured using either
the relationship fluent API or data annotations.
這裏有兩個實體類:
public class User
{
[Key, Column("un")]
public string Username { get; set; }
public int Level { get; set; }
public virtual UserSettings UserSettings { get; set; }
}
public class UserSettings
{
[Key]
public string Username { get; set; }
public int ActiveRefresh { get; set; }
[ForeignKey("Username")]
public virtual User User { get; set; }
}
我不知道如何解決這個錯誤。我堅持數據庫設計,所以我無法更新,以解決問題。有沒有使用Fluent Api來讓這些關聯起作用的方法?
用戶可以擁有UserSettings對象。這是所期望的關係。
只是一個想法:在'ForeignKey的(「用戶」),「用戶」'不似乎沒有匹配的東西? – renakre 2015-04-01 12:45:08
這兩個實體之間想要什麼類型的關係?是的,Fluent Api可以完成所有註釋和更多功能。見[這裏](https://msdn.microsoft.com/en-us/data/jj591620) – 2015-04-01 12:55:00
@PeterSmith用戶可以有一個UserSettings對象。這是所期望的關係。目前的設置令EntityFramework混淆。我也更新了這個問題。 – 2015-04-01 12:58:48