我使用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>();
但仍然会遇到同样的错误。
我该如何解决?