C# 自定义识别码<;TKey、TUserRole>;隐藏Id属性时失败
与此相关的问题,这里 在我的应用程序中,我有一个自定义角色实现C# 自定义识别码<;TKey、TUserRole>;隐藏Id属性时失败,c#,asp.net,sql-server,entity-framework,asp.net-identity,C#,Asp.net,Sql Server,Entity Framework,Asp.net Identity,与此相关的问题,这里 在我的应用程序中,我有一个自定义角色实现 public class Role : IdentityRole<Guid, UserRole> { public const string Admininstrator = "Administrator"; [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public new Guid Id { get; set; } }
public class Role : IdentityRole<Guid, UserRole>
{
public const string Admininstrator = "Administrator";
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public new Guid Id { get; set; }
}
将其从类中删除并手动创建唯一ID会起作用
public Role()
{
Id = Guid.NewGuid();
}
我希望数据库能帮我做到这一点-知道为什么会失败吗?删除
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public new Guid Id { get; set; }
只是
添加迁移时,您将看到(Id=c.Guid(nullable:false,identity:true)
)
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public new Guid Id { get; set; }
public class Role : IdentityRole<Guid, UserRole>{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// identity
modelBuilder.Entity<Role>().Property(r => r.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
CreateTable(
"dbo.AspNetRoles",
c => new
{
Id = c.Guid(nullable: false, identity: true),
Name = c.String(nullable: false, maxLength: 256),
})
.PrimaryKey(t => t.Id)
.Index(t => t.Name, unique: true, name: "RoleNameIndex");