"无效的对象名称"尝试添加实体的集合对象时的异常 - 实体框架

时间:2017-08-19 10:36:08

标签: c# sql-server entity-framework

我使用ADO.net实体模型从SQL生成我的C#模型类。 我创建了另外两个不是由ADO生成的类,它们具有1对多的关系。

课程定义如下:

LISToxPatient

[Table("LISToxPatient")]
public class LISToxPatient
{
    public LISToxPatient()
    {
        LISResults = new HashSet<LISResult>();
    }

    [Key]
    public long LISToxPatientID { get; set; }
    public long? PatientID { get; set; }
    public long? NetworkID { get; set; }

    [StringLength(20)]
    public string FirstName { get; set; }

    [StringLength(20)]
    public string LastName { get; set; }

    [StringLength(50)]
    public string Prescriber { get; set; }

    [StringLength(20)]
    public string ResultSummary { get; set; }

    [StringLength(20)]
    public string Specimen { get; set; }

    public virtual ICollection<LISResult> LISResults { get; set; }

}

LIS结果

[TableName("LISResult")]
public class LISResult
{
    [Key]
    public long LISResultID { get; set; }
    public long LISToxPatientID { get; set; }

    [StringLength(40)]
    public string Remark { get; set; }

    [StringLength(30)]
    public string Compound { get; set; }
    [StringLength(20)]
    public string CreateBy { get; set; }

    [StringLength(20)]
    public string UpdateBy { get; set; }

    public DateTime? CreateDT { get; set; }
    public DateTime? UpdateDT { get; set; }
    public bool? Deleted { get; set; } = false;
    public virtual LISToxPatient LISToxPatient { get; set; }
}

现在当我尝试添加&#34; LISToxPatient&#34;持有&#34; LISResult&#34;的集合的对象实体,我收到一个错误,上面写着:

  

&#34;无效的对象名称dbo.LISResults&#34;。

我可以看到错误是由于EF试图找到在db中不存在的复数表名,但我所有其他表类都使用复数表名约定。我试图添加这一行

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

但仍然会遇到同样的错误。

我该如何解决?

0 个答案:

没有答案