【发布时间】:2017-06-11 21:06:21
【问题描述】:
我正在尝试与我的模型建立一对一的关系。但我收到以下错误:“多重性在关系‘DetayAcıklama_UrunBilgi’中的角色‘DetayAcıklama_UrunBilgi_Target’中无效。因为从属角色属性不是关键属性,所以从属角色多重性的上限必须是‘*’ 。”
我的模型如下:
public class Urun
{
[Key]
public int UrunID { get; set; }
[Required]
public string UrunKodu { get; set; }
[Required]
public decimal Fiyat { get; set; }
[ForeignKey("DetayBilgi")]
public int DetayAcıklamaID { get; set; }
public DetayAcıklama DetayBilgi { get; set; }
}
public class DetayAcıklama
{
[Key]
public int DetayAcıklamaID { get; set; }
[Display(Name = "Açıklama")]
public string AcıklamaTxt { get; set; }
public decimal Fiyat { get; set; }
[Required, ForeignKey("UrunBilgi")]
public int UrunID { get; set; }
public Urun UrunBilgi { get; set; }
}
我错过了什么?提前致谢
【问题讨论】:
-
首先你需要决定哪一个是关系principal(被引用)和dependent(引用)。然后从 principal 中删除 FK (
XyzId) 属性(他们不能同时拥有两个 FKIds)。然后决定是要使用Shared Primary Key Association(EF 更容易更自然地支持)还是Foreign Key Association
标签: c# entity-framework ef-code-first