Net Core Scaffold-DBContext CustomCandidateNamingService 在版本 2.0.0-preview1 中不起作用

Net Core Scaffold-DBContext CustomCandidateNamingService doesn't work in version 2.0.0-preview1

我正在使用 Scaffold-DBContext 命令从我的数据库创建模型。 我实现了

public class CustomCandidateNamingService : CandidateNamingService
{
    public override string GenerateCandidateIdentifier(string original)
    {
        return original.ToUpper();
    }
}

因为我想return 属性 名称全部大写。 这适用于版本 1.1.2 但不适用于版本 2.0.0-preview1-final。

我需要改变什么吗?

谢谢。

让我们检查一下这个存储库。 https://github.com/arichika/EFCore2.0-Scaffold-DBContext-CustomCandidateNamingService

您需要更改密码。

首先,需要创建一个新的class继承IDesignTimeServices。
例如

public class MyScaffoldingDesignTimeServices: IDesignTimeServices
    {
        public void ConfigureDesignTimeServices(IServiceCollection services)
        {
            services.AddSingleton<ICandidateNamingService,
                                   MyScaffoldingCandidateNamingService>();
        }
    }

其次,这样做。
例如

public class MyScaffoldingCandidateNamingService : CandidateNamingService
{
    public override string GenerateCandidateIdentifier(string original)
    {
        return original.ToUpper();
    }
}

样本在这里。 https://github.com/arichika/EFCore2.0-Scaffold-DBContext-CustomCandidateNamingService/blob/master/src/ScaffoldMyDb/MyScaffoldingDesignTimeServices.cs