使用ef核心设置我的.net核心2.x类库2.已经为我的db模式中的实体生成了脚手架。但是,我甚至忘记检查是否存在复数实体名称的选项。当我从使用EF 6.1的类库中提取我的方法并且实体是多元化时,我注意到了这一点。有没有这个选项,只是简单地将我的实体重新生成?
答案 0 :(得分:0)
编写一个实现Microsoft.EntityFrameworkCore.Design.IPluralizer
接口的类。您可以编写自己的文件,也可以使用NuGet程序包,例如Inflector
public class Pluralizer : IPluralizer
{
public string Pluralize(string name)
{
return Inflector.Inflector.Pluralize(name) ?? name;
}
public string Singularize(string name)
{
return Inflector.Inflector.Singularize(name) ?? name;
}
}
编写一个实现Microsoft.EntityFrameworkCore.Design.IDesignTimeServices
接口的类,以在实体框架项目中注册IPluralizer
实现。
public class DesignTimeServices : IDesignTimeServices
{
public void ConfigureDesignTimeServices(IServiceCollection services)
{
services.AddSingleton<IPluralizer, Pluralizer>();
}
}
从包管理器控制台照常运行(或重新运行)您的Scaffold-DbContext
命令。如果要覆盖以前生成的代码,则需要-force
选项。