在ASP.Net Core Identity中,如果使用Entity Framework进行数据库迁移时出现没有键长度的键的问题,可以通过以下步骤解决:
打开IdentityDbContext类。该类通常位于应用程序的Data文件夹中的Identity文件夹中,可以找到一个继承自IdentityDbContext的类。
在IdentityDbContext类中,找到OnModelCreating方法。该方法用于配置Identity模型的生成。
在OnModelCreating方法中,找到对IdentityUser类的配置。通常可以通过以下代码找到:
builder.Entity(entity =>
{
// configuration code
});
entity.Property(u => u.Id)
.HasMaxLength(256)
.IsRequired();
将HasMaxLength(256)更改为HasMaxLength(128)。这将为Id属性指定一个长度。
保存并重新运行数据库迁移命令。例如,可以使用以下命令:
dotnet ef migrations add InitialCreate
这样,Entity Framework将为IdentityUser的Id属性创建一个长度为128的键。