C# 正在播种asp.net核心标识角色
我正在尝试为AspNetRole表添加初始系统角色 播种期延长: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."
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