没有鉴别器的所有实体的脚手架公共基础 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
脚手架创建 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