【发布时间】:2017-01-03 15:33:04
【问题描述】:
我正在尝试运行以下命令来为我自己创建的上下文创建新的迁移。我运行这个命令。
dotnet ef migrations add MusicContextCreation --context MusicContext
这是我的音乐上下文课程。这就是我尝试添加迁移的目的。
using Microsoft.EntityFrameworkCore;
namespace MusicianProject.Models.Contexts
{
public class MusicContext : DbContext
{
public MusicContext(DbContextOptions<MusicContext> options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
//builder.Entity<Band>().HasMany<BandMember>();
//builder.Entity<Band>().HasMany<Album>(band => band.Albums);
builder.Entity<Band>().ToTable("Band");
//builder.Entity<BandMember>().HasOne<User>(bandmember => bandmember.User);
builder.Entity<BandMember>().ToTable("BandMember");
builder.Entity<Album>().ToTable("Album");
builder.Entity<Genre>().ToTable("Genre");
}
public DbSet<Band> Bands { get; set; }
public DbSet<Genre> Genres { get; set; }
public DbSet<BandMember> BandMembers { get; set; }
public DbSet<Album> Albums { get; set; }
}
}
这是我在运行该命令时在命令提示符中收到的错误消息。
实体类型 Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserLogin 需要定义主键。
我不明白的是,我将基类称为 OnModelCreating,我在其他类似问题中将其视为答案。我不明白的是,我为身份用户提供的另一个上下文并没有给我这个问题,它实际上设置了身份表。
如果需要,我可以添加在此上下文中使用的类,我还没有添加它们,因为我不想弄乱。如果需要查看在 dbset 集合中定义的类,请在 cmets 中告诉我。
【问题讨论】:
标签: c# asp.net-mvc entity-framework asp.net-core entity-framework-core