如何首先在Entity Framework Core 2.0代码中按类型继承创建Table?

里罗

以下代码仅生成单个表“ CertificateEvent”。

如何在EF Core 2.0中实现TPT继承?

public abstract class CertificateEvent {
   public int CertificateEventId { get; set; }
}

public class Assignment : CertificateEvent {...}
public class Assessment : CertificateEvent {...}

public class MyDbContext : DbContext
{
    public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
    {

    }

    public DbSet<Assessment> AssessorAssessments { get; set; }
    public DbSet<Assignment> AssessorAssignments { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<CertificateEvent>().ToTable(nameof(CertificateEvent));
        modelBuilder.Entity<Assessment>().ToTable(nameof(Assessment));
        modelBuilder.Entity<Assignment>().ToTable(nameof(Assignment));
    }
}

class MyDesignTimeDbContextFactory : IDesignTimeDbContextFactory<MyDbContext>
{
    public MyDbContext CreateDbContext(string[] args)
    {
        var builder = new DbContextOptionsBuilder<MyDbContext>();
        builder.UseSqlServer("Server=(local);Database=Test;Trusted_Connection=True;MultipleActiveResultSets=true");
        return new MyDbContext(builder.Options);
    }
}

我也尝试过dotnet ef migrations add Inheritance,但是它没有在数据库中创建TPT继承

David Browne-微软

TPT不在EF Core中(尚未)。看到

我们的团队认为TPT通常是反模式,此后会导致严重的性能问题。启用它可能会使某些人“更快乐”地开始使用它,最终只会导致问题。不过,我们愿意考虑,因此我们将其保留为开放状态,并将根据收到的反馈进行考虑。

https://github.com/aspnet/EntityFrameworkCore/issues/2266

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何首先在Entity Framework代码中创建2个具有相同类型的dbset?

如何首先在Entity Framework代码中为Identity主键设置起始值?

首先在Entity Framework代码中链接子表

首先在同一张表中启用Entity Framework 5代码中的多对多

首先在哪里可以找到Entity Framework 4.0代码中的.csdl,.ssdl和.msl文件?

首先使用Entity Framework Core 2代码创建varchar

如何控制首先在ggplot2中绘制哪个因子?

多个外键EF Core 2.1代码首先在数据库中仅生成1

如何首先在ASP.NET MVC中将Identity与Entity Framework数据库一起使用

如何首先在代码中保存外键的集合

如何首先在Wicket中呈现<meta>标签?

如何从首先在php中重新启动循环

如何首先在程序包管理器控制台中在EF Core /数据库中添加表?

如何首先在EF6代码中设置唯一属性

Entity Framework Core 2中的ConnectionString Builder

如何首先在实体框架6代码中创建可为空的一对多关系

在Ionic 2 App中首先在构造函数之前加载模板

首先在EF6代码中创建多对多关系

如何首先在asp.net核心中的代码中创建关系

首先在实体框架集列中编写代码以在SQL Server中键入datetime2

在2x2网格中蒙太奇3个图像,首先在顶部中心(例如“ triforce”)?

EF例外,如何首先在C#和实体框架代码中为地址建模

如何首先在实体框架代码中的 linq 中使用可为空列表?

如何首先在EF代码中建立模型与枚举之间的多对多关系?

如何首先在EF 7代码中使用数据注释指定唯一键

Jersey/HK2 中一個接口的兩個實現,首先在另一個中重用

如何首先在代码中使用迁移添加计算列?

如何首先在Firebase中发送电子邮件验证,然后创建帐户?

如何首先在 UI 中显示 JSON 对象中的最后一个属性