没有鉴别器的所有实体的脚手架公共基础 class

Scaffold common base class for all entities without discriminator

脚手架创建 Poco class就像

namespace MyDbContext
{
    public partial class Customer
    {
        public Customer()
        {
        }

        public string Id { get; set; }
        public string Name { get; set; }
   }
}

如何强制它为

等所有实体生成公共基础class
    public partial class Customer : EntityBase
    { }

继承生成鉴别器字段。 EntityBase class 没有来自数据库的数据库属性。所以鉴别器字段生成是无用的。 如何禁用鉴别器字段生成?

脚手架在运行时执行。因此,不可能手动更改创建的代码或为每个 table 添加部分 classes。 https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding 中的文档没有描述

中的此类选项
dotnet ef dbcontext

命令。

这是 ASP.NET 5 MVC 应用程序,使用 Npgsql EF Core 数据提供程序。

思维简单。没有逆向工程可以检测到您实体的公共部分。此外,假设您有许多实体:E1、E2、E3、E4。一次搭建E1,E2,E3,然后第二次搭建E4,如何检测第一次和第二次的相互部分。

因此,逻辑思维告诉你没有你期望的工具。

您可以手动完成任务:

  • 自动生成实体 POCO
  • 创建基地class
  • 删除相互属性
  • 从基地延伸 class