Net Core Scaffold-DBContext CustomCandidateNamingService在版本2.0.0-preview1

时间:2017-06-09 06:59:50

标签: asp.net-core-mvc scaffolding

我正在使用Scaffold-DBContext commnand来从我的数据库创建模型。 我实施了

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

因为我想将属性名全部返回大写。 这适用于1.1.2版,但在版本2.0.0-preview1-final中不起作用。

我必须改变什么吗?

感谢。

1 个答案:

答案 0 :(得分:3)

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

您需要更改代码。

首先,有必要创建一个继承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