我收到此错误:
外键组件' SubdivisionHOAId'不是类型' SubdivisionHOA'的声明属性。验证它是否未从模型中明确排除,并且它是有效的原始属性。
这是我的模特。我不明白我需要做什么,因为我的理解是如果我已经指定了[ForeignKey(" SubdivisionsHOA")],它指的是同一类中的导航属性,因此,它不应该尝试链接“Id' Id'细分HOA?我几个小时都在努力解决这个问题:
public partial class ContentArticleHOAsubdivision
{
public int Id { get; set; }
[ForeignKey("ContentArticleHOA")]
public long ContentArticleId { get; set; }
[ForeignKey("SubdivisionsHOA")]
public short SubdivisionHOAId { get; set; }
public virtual ContentArticleHOA ContentArticleHOA { get; set; }
public virtual ICollection<SubdivisionHOA> SubdivisionsHOA { get; set; }
}
public partial class SubdivisionHOA
{
[Key, ForeignKey("TopTierDivisionHOA")]
public short Id { get; set; }
public string Name { get; set; }
public virtual TopTierDivisionHOA TopTierDivisionHOA { get; set; }
}
答案 0 :(得分:1)
尝试此操作,在您的案例SubdivisionHOA中添加相关实体类型的属性,并将外键属性添加到该属性
public partial class ContentArticleHOAsubdivision
{
public short SubdivisionHOAId { get; set; }
[ForeignKey("SubdivisionsHOAId")]
public virtual SubdivisionHOA SubdivisionHOA {get;set;}
}
答案 1 :(得分:0)
到目前为止,您已经解决了这个问题,但对于遇到同样问题的任何人来说,解决方法就是解决方案。
ForeignKey属性属性应该在您的其他类SubdivisionHOA
您的ContentArticleHOAsubdivision
类有一个SubdivisionHOA
列表,您无需在值列表中添加外键。您将ForeignKey属性添加到具有一个(一对多关系)关系的类中。理想情况下,您的类应该是这样的
public partial class ContentArticleHOAsubdivision
{
public int Id { get; set; }
[ForeignKey("ContentArticleHOA")]
public long ContentArticleId { get; set; }
public virtual ContentArticleHOA ContentArticleHOA { get; set; }
public virtual ICollection<SubdivisionHOA> SubdivisionsHOA { get; set; }
}
public partial class SubdivisionHOA
{
[Key, ForeignKey("TopTierDivisionHOA")]
public short Id { get; set; }
public string Name { get; set; }
[ForeignKey("ContentArticleHOAsubdivision")]
public short ContentArticleHOAsubdivision{ get; set; }
public virtual TopTierDivisionHOA TopTierDivisionHOA { get; set; }
}