Как исправить «генератор кода модели» в asp.net mvc 5 - PullRequest
1 голос
/ 07 июля 2019

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

Я хочу, чтобы приложение asp.net IdentityUser создавало отношение один ко многим с таблицей BookIssue Custom.потому что я новичок в asp.net mvc 5, я не могу решить проблему, пожалуйста, помогите мне.

public class ApplicationUser : IdentityUser
{

    public virtual ICollection<BookIssue> BookIssues { get; set; }

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }

    public DbSet<Book> Books { get; set; }
    public DbSet<BookIssue> BookIssues { get; set; }
    public DbSet<Catagory> Catagories { get; set; }
    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
    protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<BookIssue>()
        .HasRequired(n => n.ApplicationUser)
        .WithMany(a => a.BookIssues)
        .HasForeignKey(n => n.ApplicationUserId)
        .WillCascadeOnDelete(false);
        }
    }
}

BookIssue Модель:

public int BookIssueId { get; set; }       
public int BookId { get; set; }
public int ApplicationUserId { get; set; }
public string Email { get; set; }
public DateTime FromDate { get; set; }       
public DateTime ToDate { get; set; }
public virtual Book Book { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; 

Сгенерированная ошибка:

Произошла ошибка при запуске выбранного генератора кода.«Невозможно получить метаданные для Librart.Models.BookIssuee». Во время генерации модели обнаружены одна или несколько ошибок проверки: Library.Models.IdentityUserLogin: EntityType «IdentityUserRole» не имеет определенного ключа. Определите ключ для этого EntityType.Library.Models.IdentityUserRole: EntityType «IdentityUserLogin» не имеет определенного ключа. Определите ключ для этого EntityType.

И много других ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...