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

问题描述

Scaffold 创建 Poco 类,如

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

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

如何强制它为所有实体生成公共基类,例如

    public partial class Customer : EntityBase
    { }

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

Scaffold 在运行时执行。因此不可能手动更改创建的代码或为每个表添加分类https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding 中的文档未在

中描述此类选项
dotnet ef dbcontext

命令。

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

解决方法

简单的想法。没有逆向工程可以检测到您实体的公共部分。更多,假设您有许多实体:E1、E2、E3、E4。当你一次脚手架E1,E2,E3,然后你第二次脚手架E4,如何检测第一次和第二次的相互部分。

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

您可以手动完成您的任务:

  • 自动生成实体 POCO
  • 创建基类
  • 删除属性
  • 从基类扩展