没有找到解决问题的线索
@力揽狂澜: 具体报什么错?
@dudu:
public class NoteUser : IdentityUser
{
public string UserViewName { get; set; }
}
自己加了一项,想把它把UserViewName变为unique索引,再迁移
按照文档写法我在DbContext添加
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<NoteUser>()
.HasIndex(b => b.UserViewName)
.IsUnique();
}
输入Add-Migration
报错
The entity type 'IdentityUserLogin<string>' requires a primary key to be defined. If you intended to use a keyless entity type call 'HasNoKey()'.
如果是自己写的模型这个方法可能会成功,(没试过),
但是想改 使用IdentityUser生成的表,我根本找不到IdentityUserLogin在哪里,
提示没有主键,主键在表生成自带的,这个方法不能用?
@力揽狂澜: 你少写了 base.OnModelCreating(modelBuilder) ,详见 stackoverflow
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<NoteUser>()
.HasIndex(b => b.UserViewName)
.IsUnique();
}
不懂.NET Core ,
但是ef.code first的话不是add-migration和update-database吗
这个方法里我看一般都是设置sqlgeneration和迁移策略的