我正在尝试使用Pomelo.EntityFrameworkCore.MySql和EF Core 3.0连接到MySQL数据库
我遵循了柚子提供的指南。
运行Web应用程序时,可以看到成功创建了一些表。但是,以GUID为ID的表出现以下错误:
An error occured during migration
MySql.Data.MySqlClient.MySqlException (0x80004005): BLOB/TEXT column 'Id' used in key specification without a key length
如何解决此问题?如何在MySql中使用GUID作为ID以及如何解决此错误?
答案 0 :(得分:0)
我找到了一种解决方案,不确定是不是一种解决方法,还是这是正常的解决方法。
只需在您的DataContext类中添加以下内容:
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<AppUser>(entity => entity.Property(m => m.Id).HasMaxLength(255));
}
此外,如果您要从另一个数据库引擎迁移到MySQL,最好删除所有迁移并创建新迁移,这样它将实现上述代码并使用Pomelo为MySQL正确创建迁移
我希望这对像我一样被困的人有帮助