Versuchen Sie, Daten mit identity.aspnetcore mit .Useeding und .UTeasyncSeeding zu säen?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Versuchen Sie, Daten mit identity.aspnetcore mit .Useeding und .UTeasyncSeeding zu säen?

Post by Guest »

Ich bin also auf ein Problem gestoßen, das ich nicht sicher bin, wie ich umgehen soll. .. da ich Identität verwende, um sowohl die Benutzer als auch die Rollen in meiner Anwendung zu behandeln.
Für die UseasyncSeeding () gibt es kein Problem, da sowohl UserManager als auch Rolemanager asynchronisierte Methoden haben. ist sehr ratsam, sowohl Useseeding als auch UseasyncSeeding zu haben, selbst wenn Sie nur einen von ihnen verwenden. Was ich bin. Zumindest glaube ich nicht, dass sie es haben. Wie kann ich Daten mit diesen Methoden und Identität ordnungsgemäß säen? < /P>
Für den Fall, dass Sie den Code sehen möchten > optionsBuilder.UseAsyncSeeding(async (ctx, _, ct) =>
{
// Services
var userManager = ctx.GetService();
var roleManager = ctx.GetService();

//Persona Data
var personaAdminExist = await ctx.Set
().FirstOrDefaultAsync(p => p.Carnet == _adminData.PersonalInformation.Carnet);
if (personaAdminExist != null) throw new Exception("Persona Admin Data Already Exists");
var newPersonaAdmin = await ctx.Set().AddAsync(adminPersonaData);
//Usuario Data
var usuarioAdminExist = await userManager.FindByNameAsync(_adminData.Username);
if (usuarioAdminExist != null) throw new Exception("Usuario Admin Data Already Exists");
var newUsuarioAdmin = await userManager.CreateAsync(adminUsuarioData);
if (!newUsuarioAdmin.Succeeded) throw new Exception("Error while creating Usuario");
await ctx.SaveChangesAsync(ct);
// Role Data
var usuarioAdmin = await userManager.FindByNameAsync(_adminData.Username);
var usuarioRoleExists = await roleManager.FindByNameAsync(adminRole.Name);
if (usuarioAdminExist != null) throw new Exception("Admin Role Data Already Exists");
var newUsuarioRole = await roleManager.CreateAsync(adminRole);
if (!newUsuarioRole.Succeeded) throw new Exception("Error while Creating new Role");
var roleAssignated = await userManager.AddToRoleAsync(usuarioAdmin!, adminRole.Name);
// Assignation of roles
if (!roleAssignated.Succeeded) throw new Exception("Error while Assignating Role");
await ctx.SaveChangesAsync(ct);
});
< /code>
Es könnte wahrscheinlich sauberer sein. Aber ich habe nur die Dinge herausgefunden. wäre sehr geschätzt.
Vielen Dank für Ihre Zeit!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post