Как можно добавить исходные данные ASP.NET Core Identity с помощью UseSeeding в EF Core 9?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как можно добавить исходные данные ASP.NET Core Identity с помощью UseSeeding в EF Core 9?

Сообщение Anonymous »

Я обновил свой проект с .NET 8 до .NET 9. Однако при переносе базы данных возникла ошибка. На GitHub есть обсуждение этой проблемы: https://github.com/dotnet/efcore/issues/35110.
Это мой код, который не работает для EF Core 9. :
var seedUser = new MyUser
{
Id = "ID",
UserName = "username",
NormalizedUserName = "username".ToUpper(),
EmailConfirmed = true,
Email = email,
NormalizedEmail = email.ToUpper(),
LockoutEnabled = false
};

var ph = new PasswordHasher();
seedUser.PasswordHash = ph.HashPassword(seedUser, "password123");

modelBuilder.Entity().HasData(seedUser);

Похоже, нам не следует использовать какое-либо динамическое значение при использовании метода HasData для добавления исходных данных в EF Core 9, например Guid.NewGuid() или HashPassword( ). Microsoft также рекомендует пользователям использовать новый метод UseSeeding для добавления исходных данных, если пользователи хотят добавить какие-либо начальные данные ролей и пользователей ASP.NET Core Identity.
Итак, мой вопрос как мне получить службы UserManager или RoleManager? Я попробовал приведенный ниже код, но у меня он не сработал.
services.AddDbContext((sp, options) =>
{
var userManager = sp.GetRequiredService();

options.UseNpgsql(connectionString)
.UseAsyncSeeding((context, _, cancellationToken) => Seeding(context, userManager, cancellationToken));
});


Подробнее здесь: https://stackoverflow.com/questions/792 ... in-ef-core
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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