Как удалить автогенерацию PasswordHash при заполнении Identity NET COREC#

Место общения программистов C#
Anonymous
Как удалить автогенерацию PasswordHash при заполнении Identity NET CORE

Сообщение Anonymous »

Я заполняю таблицу идентификаторов пользователей, используя основные конфигурации EF, это мой метод.

Код: Выделить всё

  public void Configure(EntityTypeBuilder builder)
{
var hasher = new PasswordHasher();
var adminUser = new IdentityUser
{
Id = Id,
UserName = AdminUserName,
NormalizedUserName = AdminUserName,
Email = AdminUserName,
NormalizedEmail = AdminUserName,
EmailConfirmed = true,
ConcurrencyStamp = ConcurrencyStamp,
SecurityStamp = SecurityStamp
};

adminUser.PasswordHash = hasher.HashPassword(adminUser, Password);

builder.HasKey(u => u.Id);
builder.Property(u => u.Id).ValueGeneratedNever();
builder.Property(u => u.ConcurrencyStamp).ValueGeneratedNever();
builder.Property(u => u.PasswordHash).ValueGeneratedNever();
builder.Property(u => u.SecurityStamp).ValueGeneratedNever();

builder.HasData(adminUser);
}
Он отлично работает при создании первой миграции, применяя все поля, перечисленные в коде.
Проблема возникает, когда я создаю вторую миграцию (даже ничего не меняя), он всегда создает миграцию, пытаясь изменить хеш пароля, даже если я указал никогда не генерировать значение.

Код: Выделить всё

 public partial class UserAndRoleSeed3 : Migration
{
/// 
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
schema: "Users",
table: "AspNetUsers",
keyColumn: "Id",
keyValue: "0fbad743-9b2c-4eac-aa17-957880a5465d",
column: "PasswordHash",
value: "AQAAAAIAAYagAAAAELfdYk76pRqQjoKQM9cOrCEplDXzB2mFhQdaCByEIBU4ng6fb9FtK7rY6sCLKwhS8A==");
}

/// 
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
schema: "Users",
table: "AspNetUsers",
keyColumn: "Id",
keyValue: "0fbad743-9b2c-4eac-aa17-957880a5465d",
column: "PasswordHash",
value: "AQAAAAIAAYagAAAAELG0nqfYzxLsa3gKh8PlUIx23oUZOe4RJjrk1DRPSdYvdkDqoQsTVhCApmGOx0awVw==");
}
}
Как избежать этой проблемы при миграции? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/783 ... y-net-core

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