Тип объекта IdentityUserLogin требует определения первичного ключа. - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь создать ассоциацию между AspNetUsers и Users.

Таблица My Users определяется следующим образом:

public class User
{
    public long UserId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
    public string Contact { get; set; }
    public string Address { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string Role { get; set; }
    public string Token { get; set; }
    public List<Client> Clients { get; set; }
    public string IdentityUserId { get; set; }
    public IdentityUser IdentityUser { get; set; }
}

Вот мой DbContext класс :

public class ApplicationDbContext : IdentityDbContext<IdentityUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    public ApplicationDbContext()
    {
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        ..........................
    }

Когда я пытаюсь добавить новую миграцию со свойством IdentityUser, добавленным в пользовательскую таблицу, я получаю следующую ошибку: The entity type 'IdentityUserLogin' requires a primary key to be defined. Если вы намеревались использовать вызов типа сущности без ключа HasNoKey().

У меня есть отношения, определенные таким же образом в других моих проектах, но я не получаю эту ошибку, и моя таблица пользователей связана с AspNetUsers таблица.

Я пробовал все решения, большинство из которых советуют вам добавить

base.OnModelCreating(modelBuilder);

в OnModelCreating функцию, которую я уже сделал, но все равно получаю эту ошибку.

Я использую ASP. NET Core 3.1 с Entity Framework Core 3.1.5.

Может ли кто-нибудь указать на то, что я здесь делаю неправильно? Я также пытался унаследовать свой класс Users от класса IndetityUsers, но все равно получаю эту ошибку.

Любая помощь приветствуется.

...