我正在奋斗几天......我在不同的dbContext中有两个实体引用同一个表。当我尝试运行项目并尝试通过选择数据或插入数据来访问实体时,它会给出错误
实体类型不能共享表,因为它们不在同一类型层次结构中,或者没有有效的一对一外键关系,并且它们之间具有匹配的主键。
我尝试使用[ForeignKey("")]属性和虚拟属性,但未成功。以下是我的两个实体,请帮助我,因为我哪里出错了。
[Table("JHAContent")]
public partial class JHAContent
{
[Key]
public int ID { get; set; }
[StringLength(50)]
public string Name { get; set; }
[StringLength(50)]
public string ReferenceType { get; set; }
[StringLength(50)]
public string ReferenceID { get; set; }
[StringLength(50)]
public string ContentType { get; set; }
public byte[] BlobContent { get; set; }
public DateTime CreatedOn { get; set; }
}
,第二个实体如下
[Table("JHAContent")]
public partial class SourceJHAContent
{
[Key, ForeignKey("JHAContent")]
public int ID { get; set; }
[StringLength(50)]
public string Name { get; set; }
[StringLength(50)]
public string ReferenceType { get; set; }
[StringLength(50)]
public string ReferenceID { get; set; }
[StringLength(50)]
public string ContentType { get; set; }
public byte[] BlobContent { get; set; }
public DateTime CreatedOn { get; set; }
public Weatherford.PumpJackOnline.DataModels.PumpJackEntityModels.JHAContent JHAContent { get; set; }
}
请告诉我如何运行此代码。由于我不想保留这两个实体之间的任何关系,因为它们是彼此的精确副本。一个将用于获取详细信息,另一个用于在表格中插入详细信息。
答案 0 :(得分:0)
为什么JHAContent
课程中需要SourceJHAContent
字段?这就是造成这个问题的原因,只需删除它,一切都应该没问题。