ASP.NET Необязательные отношения 1:1 с ApplicationUser (Identity 2.0)

У меня есть Trainee который должен подключиться к ApplicationUser, Trainee Модель имеет поля, которые не относятся к фактической учетной записи пользователя, но должны иметь такие вещи, как FirstName, LastName от ApplicationUser как пользователь не обязательно должен быть стажером.

Тем не менее, я получаю эти ошибки, несмотря на определение моего внешнего ключа для пользователя в Trainee:

Одна или несколько ошибок проверки были обнаружены во время генерации модели:

MyApp.Models.IdentityUserLogin:: EntityType "IdentityUserLogin" не определено ни одного ключа. Определите ключ для этого EntityType. MyApp.Models.IdentityUserRole:: EntityType "IdentityUserRole" не имеет определенного ключа. Определите ключ для этого EntityType...

... и т. д. В любом случае, вот моя текущая архитектура:

Модель стажера:

public class Trainee
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public string TraineeId { get; set; }

    // other fields, not relevant
    [ForeignKey("TraineeId")]
    public virtual ApplicationUser User { get; set; }
}

ApplicationUser и контекст:

    public class ApplicationUser : IdentityUser
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }

        // other arbitrary fields
    }

    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("SARSDbContext")
        {
        }
    }

Контекст данных и построитель моделей:

public class SARSDbContext : DbContext
{
    public DbSet<Trainee> Trainees { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<Trainee>()
                    .HasRequired(c => c.User);
    }
}

Я искал здесь и здесь информацию, но я не нашел решения.

0 ответов

Другие вопросы по тегам