不允许多重性。实体框架

时间:2013-10-09 15:33:27

标签: entity-framework asp.net-mvc-4

我第一次尝试使用MVC4,并且在尝试创建控制器时收到以下错误?有人可以引导我朝着正确的方向前进吗?


Microsoft Visual Studio

  

System.Data.Entity.Edm.EdmAssociationEnd ::多重性无效   在角色'PropertyData_DNISData_Target'中的关系   'PropertyData_DNISData'。因为Dependent Role属性不是   关键属性,多重性的上界   依赖角色必须是'*'。

public class PropertyData
{
    [Key]
    public virtual string PropertyID { get; set; }

    [ForeignKey ("DNISData")]
    public virtual string DNIS { get; set; }

    public virtual string PropertyName { get; set; }
    public virtual string PropertyGreeting { get; set; }
    public virtual string PropertyOperator { get; set; }
    public virtual string InvalidEntryPrompt { get; set; }
    public virtual string NoEntryPrompt { get; set; }
    public virtual string Comment { get; set; }
    public virtual DNISData DNISData { get; set; }

}

public class DNISData
{
    [Key]
    public virtual string DNIS { get; set; }
    [ForeignKey("PropertyData")]
    public string PropertyID { get; set; }
    public virtual string VDN { get; set; }
    public virtual string PropertyGreeting { get; set; }
    public virtual string Comment { get; set; }
    public virtual PropertyData PropertyData { get; set; }
}

public class DigitData
{
    [ForeignKey ("DNISData")]
    [Key]
    public virtual string DNIS { get; set; }
    [Key]
    public virtual string Digit { get; set; }
    public virtual string InvalidEntryPrompt { get; set; }
    public virtual DNISData DNISData { get; set; }
}

1 个答案:

答案 0 :(得分:2)

PropertyData和DNISData之间存在1对1的关系。这只能通过EntityFramework中的共享主键来完成。

这个问题可以为您提供所需的答案:

How to declare one to one relationship using Entity Framework 4 Code First (POCO)