C# 正在播种asp.net核心标识角色

C# 正在播种asp.net核心标识角色,c#,asp.net,asp.net-core,asp.net-identity,asp.net-core-mvc,C#,Asp.net,Asp.net Core,Asp.net Identity,Asp.net Core Mvc,我正在尝试为AspNetRole表添加初始系统角色 播种期延长: public static void EnsureRolesAreCreated(this IApplicationBuilder app) { Dictionary<string, string> roles = new Dictionary<string, string> { { "Administrator", "Global Access."

我正在尝试为AspNetRole表添加初始系统角色

播种期延长:

public static void EnsureRolesAreCreated(this IApplicationBuilder app) {
        Dictionary<string, string> roles = new Dictionary<string, string>
        {
            { "Administrator", "Global Access." },
            { "User", "Restricted to business domain activity." }
        };

        var context = app.ApplicationServices.GetService<ApplicationDbContext>();
        if (context.AllMigrationsApplied()) {
            var roleManager = app.ApplicationServices.GetService<ApplicationRoleManager>();
            foreach (var role in roles) {
                if (!roleManager.RoleExistsAsync(role.Key).Result) {
                    roleManager.CreateAsync(new ApplicationRole() { Name = role.Key, System = true, Description = role.Value });
                }
            }
        }
    }

我添加了
ValueGeneratedOnAdd()
,试图强制生成ID

我发现了这个问题。我失踪了:

base.OnModelCreating(modelBuilder);
在ModelCreating函数的开头

 protected override void OnModelCreating(ModelBuilder modelBuilder){
        base.OnModelCreating(modelBuilder);
 }
在做了那个更改之后,我进行了迁移,ID列现在被创建为Identity列

[Id] [int] IDENTITY(1,1) NOT NULL
[Id] [int] IDENTITY(1,1) NOT NULL