我现在正在努力奋斗几天......我在不同的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; }
}
请让我知道如何运行此代码 . 因为我不想在这两个实体之间保持任何关系,因为它们是彼此的精确副本 . 一个将用于获取细节而另一个用于在表中插入细节 .
1 回答
为什么在
SourceJHAContent
类中需要JHAContent
字段?这就是造成这个问题的原因,只需删除它,一切都应该没问题 .