Я бы создал класс DataInitializer для заполнения всех необходимых данных, если для среды установлено значение «Разработка».
Например, создание пользователя:
public static class IdentityDataInitializer
{
private static void SeedUsers(UserManager<ApplicationUser> userManager)
{
if (userManager.FindByNameAsync("Admin").Result == null)
{
ApplicationUser admin = new ApplicationUser()
{
UserName = "Admin",
Email = "Admin@admin.com",
RegistrationDate = DateTime.Now
};
string password = "Admin1";
var result = userManager.CreateAsync(admin, password);
if (result.Result.Succeeded)
{
userManager.AddToRoleAsync(admin, "Admin").Wait();
}
}
}
}
Когда все методы будут готовы, просто добавьте это в свой файл Startup.cs:
public void Configure(
IApplicationBuilder app,
IWebHostEnvironment env,
UserManager<ApplicationUser> userManager,
RoleManager<IdentityRole> roleManager)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
IdentityDataInitializer.SeedDefaultData(userManager, roleManager);
}
//Some methods...
}
}