Пытаетесь заселить данные, используя Identity.C#

Место общения программистов C#
Ответить
Anonymous
 Пытаетесь заселить данные, используя Identity.

Сообщение Anonymous »

Итак, я столкнулся с проблемой, с которой я не уверен, как справиться. .. Так как я использую идентификацию для обработки как пользователей, так и ролей в моем приложении.
для useasyncseeding () нет проблем, так как у пользовательских и Rolemanager есть асинхронные методы. очень рекомендуется иметь как использовать и USEasyncedeed, даже если вы просто будете использовать один из них. Что я есть. Или, по крайней мере, я не думаю, что у них есть. < /P>
Как тогда я могу решить эту проблему? Как я могу правильно посетить данные, используя эти методы и идентичность? > 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>
Это, вероятно, может быть чище. Но я просто выяснил что -то. Было бы высоко ценится.
Спасибо за ваше время!

Подробнее здесь: https://stackoverflow.com/questions/794 ... easyncseed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»