实体框架无效的列名Height_HeightID

时间:2015-07-21 15:43:49

标签: entity-framework linq-to-entities sqlclient

我正在尝试根据与父表的外键关系从高度表中获取记录。但我得到无效列名....错误。这是我的模型设置: -

[Table("Candidate")]
public partial class Candidate
{
    public Candidate()
    {
        Heights = new HashSet<Height>();
        Weights = new HashSet<Weight>();
    }
    [Key]
    public int CandidateID { get; set; }
    [StringLength(64)]
    public string FirstName { get; set; }
    [StringLength(64)]
    public string LastName{ get; set; }
}

然后我有一个身高和体重表。高度表的模型是: -

[Table("Height")]    
public partial class Height
    {
        [Key]
        public int HeightID { get; set; }
        public int? CandidateID { get; set; }
        public double? HeightVal { get; set; }
        ForeignKey("CandidateID")]
        public virtual Candidate Candidate { get; set; }
    }

这是LinQ查询: -

return (from c in _db.Candidates
        join h in _db.Heights
            on c.CandidateID equals h.CandidateID
        where c.CandidateID == candidateId
        select t);

当我尝试使用这些模型获取记录时,我收到此错误: -

  

System.Data.SqlClient.SqlException:列名无效   “Height_HeightID

正如类似stackoverflow所建议的那样,我添加了ForeignKey [] DataAnnotation,但我仍然得到同样的错误。

同样在我的Sql Server数据库中,Height Table对CandidateID有外键约束。

0 个答案:

没有答案