In ASP.NET Core 6 Web API, I am implementing EF migration seeding. When I used .NET Core 5, I applied it in Startup.cs and it works there.
public static class AppDbContextSeed
{
public static void SeedData(UserManager<ApplicationUser> userManager, RoleManager<ApplicationRole> roleManager)
{
SeedRoles(roleManager);
SeedUsers(userManager);
}
public static void SeedRoles(RoleManager<ApplicationRole> roleManager)
{
if (!roleManager.RoleExistsAsync("Admin").Result)
{
ApplicationRole role = new ApplicationRole();
role.Name = "Admin";
IdentityResult roleResult = roleManager.
CreateAsync(role).Result;
}
if (!roleManager.RoleExistsAsync("Student").Result)
{
ApplicationRole role = new ApplicationRole();
role.Name = "Student";
IdentityResult roleResult = roleManager.
CreateAsync(role).Result;
}
}
public static void SeedUsers(UserManager<ApplicationUser> userManager)
{
if (userManager.FindByNameAsync("admin").Result == null)
{
ApplicationUser user = new ApplicationUser()
{
UserName = "admin",
Email = "admin@africa.email.com",
FirstName = "AdminFN",
LastName = "AdminLN",
NormalizedUserName = "ADMIN"
};
IdentityResult result = userManager.CreateAsync
(user, "Admin*123").Result;
if (result.Succeeded)
{
userManager.AddToRoleAsync(user, "Admin").Wait();
}
}
}
}
But now I am using .NET Core 6. So when I applied this in Program.cs:
public void Configure(UserManager<ApplicationUser> userManager, RoleManager<ApplicationRole> roleManager)
{
// DB Seeding
AppDbContextSeed.SeedData(userManager, roleManager);
}
I got this error:
The local function 'Config' is declared but never used
Error CS0106: the modifier 'public' is not valid for this item
How do I correct the error and replicate this in .NET Core 6?
Thank you.