C# 具有相同表名的两个实体

C# 具有相同表名的两个实体,c#,asp.net-mvc,entity-framework,asp.net-mvc-5,entity-framework-6,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,Entity Framework 6,我已经挣扎了几天了……我有两个实体在不同的dbContext中引用同一个表。当我尝试运行项目并尝试通过选择数据或插入数据来访问实体时,它会给我错误提示 实体类型不能共享表,因为它们不在同一类型层次结构中,或者它们之间没有有效的一对一外键关系,并且主键匹配 我尝试使用[ForeignKey(“”)属性和虚拟财产,但没有成功。以下是我的两个实体,请帮助我,因为我哪里出了问题 [Table("JHAContent")] public partial class JHAContent { [

我已经挣扎了几天了……我有两个实体在不同的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; }
}

请让我知道如何运行此代码。因为我不想在这两个实体之间保留任何关系,因为它们是彼此的精确副本。一个用于获取详细信息,另一个用于在表中插入详细信息。

为什么需要
SourceJHAContent
类中的
JHAContent
字段?这就是问题的原因,只要删除它,一切都会好起来。

当您说“我有两个实体在不同的dbContext中引用同一个表”时,是否意味着相同dbContext类的两个实例,或者2个不同DbContext类的2个实例?2个不同的DbContext…@BradleyUffner…我有2个不同的DbContext,它们有完全相同的实体,并且指向同一个表