具有相同表名

时间:2017-03-15 16:14:16

标签: c# asp.net-mvc entity-framework asp.net-mvc-5 entity-framework-6

我正在奋斗几天......我在不同的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 个答案:

答案 0 :(得分:0)

为什么JHAContent课程中需要SourceJHAContent字段?这就是造成这个问题的原因,只需删除它,一切都应该没问题。