Исключение ASP.NET Core: невозможно создать DbSet для IdentityUser после создания связи 1-к-1 с идентификатором пользоваC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Исключение ASP.NET Core: невозможно создать DbSet для IdentityUser после создания связи 1-к-1 с идентификатором пользова

Сообщение Anonymous »

Сейчас я просто перехожу на ASP.NET Core, поскольку часто использую ASP.NET MVC. У меня есть проект VS 2022, ориентированный на .NET 8.0.
Я хотел создать связь таблицы 1-к-1 с IdentityUser для хранения дополнительной информации, такой как человек или профиль).
Все компилируется, однако при попытке зарегистрироваться получаю следующее исключение:

Невозможно создайте DbSet для «IdentityUser», потому что этот тип не включен в модель контекста.

Я знаю, почему я его получаю, потому что мой DbContext теперь имеет DbSet.
Как лучше всего добиться связи 1-к-1 между IdentityUser и человеком и сохранить как можно большую часть стандартного идентификационного кода?
Вот моя модель:

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

public class CustomUser : IdentityUser
{
public Person? Person { get; set; }
}

public class Person
{
[Key]
public string PersonId { get; set; }
public string Firstname { get; set; } = String.Empty;
public string Surname { get; set; } = String.Empty;
public long DepartmentId { get; set; }
public long LocationId { get; set; }

public CustomUser AppUser { get; set; }
}
Вот мой DbContext:

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

public class ApplicationDbContext(DbContextOptions options)
: IdentityDbContext(options)
{
public DbSet
 Persons { get; set; }

protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity()
.HasOne(c => c.Person)
.WithOne(c => c.AppUser)
.HasForeignKey(x => x.PersonId);

base.OnModelCreating(builder);
}
}
Код завершается с ошибкой на следующей строке в процессе пост-обработки входа в систему.

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

var result = await _userManager.CreateAsync(user, Input.Password);
Любая помощь приветствуется, спасибо.

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

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

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

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

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

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

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