如何在OnModelCreating中创建具有继承的对象属性生成的ef core 2.0模型?

时间:2018-04-20 13:50:51

标签: c# entity-framework entity entity-framework-core ef-core-2.0

因此,让你假装在你的Model类中(无论你想要从DbContext继承的那个)并覆盖OnModelCreating。你有一个名为DBDateTime的基类,让我们说它看起来像这样 - >

public class DbDateTime
{
    public DateTimeOffset CreatedDateTime { get; set; }
    public DateTimeOffset LastModifiedDateTime { get; set; }
}

然后你有一个继承自它的类--->

   public class MyTable : DbDateTime
{
    public string Id{ get; set; }
    public string prop1{ get; set; }
}

在您的模型中,您的OnModelCreating就像 - >

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {


        modelBuilder.Entity<MyTable>(entity => 
        {
           entity.Property(x => x.CreatedDateTime).Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
        })
     }

这对于一个继承自一组属性的表是好的,但是如果你有10个表从这样的类继承,那么有没有办法在ef core 2.0中使用某种类型的继承和属性生成?我希望编写一次代码并为基类设置属性生成规则,这样我就不必为从该基类继承的类一遍又一遍地编写它。

0 个答案:

没有答案