如何使用Entity Framework Code FirstFluent API一次从多个类的继承类映射数据成员?

问题描述

| 如果有一个类,请说Entity,从中创建多个类。我该如何做,例如将TimeStamp数据成员从默认列类型datetime映射到datetime2(7)。我可以像这样单独映射它:
protected override void OnModelCreating(DbModelBuilder mb)
{
  mb.Entity<Class1>()
    .Property(h => h.TimeStamp)
    .HasColumnType(\"datetime2\")
}
但是我更愿意对Entity类执行一次,并将其应用于从Entity继承的每个类。如果我执行上述代码,但是使用Entity而不是Class1,我认为这使Entity成为复杂类型。这将所有内容都放在一个表中,而不是我想要的表中,这就是TPC(每种具体类型的表)。 以下是示例类: Entity.cs
public class Entity()
{
  public long ID { get; private set; }
  public DateTime TimeStamp { get; set; }
}
Class1.cs
public class Class1 : Entity
{
  public string SomeOtherDataMember1 { get; set; }
}
Class2.cs
public class Class2 : Entity
{
  public string SomeOtherDataMember2 { get; set; }
}
顺便提一下(这也是我研究的下一步),如何使数据库将Entity中的ID识别为Class1和Class2的主键。显然,ID被识别为在Class1和Class2中,但是它不是主键。与TimeStamp相似,是否可以用一点代码使其成为所有继承类的主键,而不是为每个继承类编写它?     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)