【问题标题】:Pomelo.EntityFrameworkCore.MySql error with EF Core 3.0EF Core 3.0 的 Pomelo.EntityFrameworkCore.MySql 错误
【发布时间】:2020-03-08 08:01:42
【问题描述】:

我正在尝试使用 Pomelo.EntityFrameworkCore.MySql 和 EF Core 3.0 连接到 MySQL 数据库

我已按照 Pomelo 提供的指南进行操作。

当我运行 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 以及如何解决这个错误?

【问题讨论】:

    标签: mysql entity-framework-core


    【解决方案1】:

    我找到了一个解决方案,但不确定这是一种解决方法还是这是正常的方法。

    只需在您的 DataContext 类中添加以下内容:

    protected override void OnModelCreating(ModelBuilder builder)
            {
                base.OnModelCreating(builder);
                builder.Entity<AppUser>(entity => entity.Property(m => m.Id).HasMaxLength(255));
            }
    

    另外,如果您要从另一个数据库引擎迁移到 MySQL,最好删除所有迁移并创建新的迁移,这样它将实现上述代码并使用 Pomelo 为 MySQL 正确创建迁移

    我希望这对像我一样陷入困境的人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-29
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多