【发布时间】:2016-11-18 11:00:40
【问题描述】:
我有两个几乎相同的表,Person 和 PersonArchive。可以想象,PersonArchive 与 Person 非常相似,只是增加了两个额外的字段。我在下面创建了类结构,因此如果向 Person 添加了额外的列,它会自动出现在 PersonArchive 中:
public partial class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
}
public partial class PersonArchive : Person
{
public string ArchivedBy { get; set; }
public DateTime ArchivedAt
{
get
{
return DateTime.Now;
}
}
}
我的解决方案从 Person 中读取数据,填写额外的两个字段并将其写入 PersonArchive。问题是当我尝试从 Person 读取数据时,我得到了缺少鉴别器的问题,同时查看 SO 上的各种帖子,将 NotMapped 添加到 PersonArchive 解决了从 Person 读取的问题,但显然它在插入到 PersonArchive 时会导致问题。
我查看了各种帖子,但似乎没有一个符合我的问题 - 或者至少在我的理解中:
Code First: Avoid discriminator column and keep inheritance
Entity framework code first creates "discriminator" column
Entity Framework: How to avoid Discriminator column from table?
【问题讨论】:
标签: c# .net entity-framework