Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义识别码<;TKey、TUserRole>;隐藏Id属性时失败_C#_Asp.net_Sql Server_Entity Framework_Asp.net Identity - Fatal编程技术网

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");