我第一次尝试使用MVC4,并且在尝试创建控制器时收到以下错误?有人可以引导我朝着正确的方向前进吗?
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; }
}
答案 0 :(得分:2)
PropertyData和DNISData之间存在1对1的关系。这只能通过EntityFramework中的共享主键来完成。
这个问题可以为您提供所需的答案:
How to declare one to one relationship using Entity Framework 4 Code First (POCO)