在没有鉴别器的情况下为所有实体建立公共基类



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类没有数据库属性freom数据库。所以鉴别器场的生成是无用的。如何禁用鉴别器字段生成?

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

dotnet ef dbcontext

命令。

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

简单的思考。任何反向工程都无法检测到实体的公共部分。此外,假设您有许多实体:E1、E2、E3、E4。当你一次支架E1、E2、E3,然后第二次支架E4时,如何检测第一次和第二次的相互部分。

因此,逻辑思维向你表明,没有你所期望的工具。

您可以手动完成任务:

  • 自动生成实体POCO
  • 创建基类
  • 删除相互关联的属性
  • 从基类扩展

最新更新