AspNetCoreIdentity 与 MySql:对象必须与枚举类型相同。 MySql.EntityFrameworkCore.Metadata.MySQLValueGenerationStrategy

问题描述 投票:0回答:1

我正在尝试使用

AspNetCoreIdentity
数据库构建
MySql

我添加了所有必要的配置,并达到了项目已成功生成

AspNetCore
表迁移的程度。

但是对于表

AspNetRoleClaims
EF 核心已生成像这样的
MySQLValueGenerationStrategy.IdentityColumn
枚举

 migrationBuilder.CreateTable(
     name: "AspNetUserClaims",
     columns: table => new
     {
         Id = table.Column<int>(type: "int", nullable: false)
             .Annotation("MySql:ValueGenerationStrategy", MySQLValueGenerationStrategy.IdentityColumn),
         UserId = table.Column<string>(type: "varchar(255)", nullable: false)
             .Annotation("MySql:CharSet", "utf8mb4"),
         ClaimType = table.Column<string>(type: "longtext", nullable: true)
             .Annotation("MySql:CharSet", "utf8mb4"),
         ClaimValue = table.Column<string>(type: "longtext", nullable: true)
             .Annotation("MySql:CharSet", "utf8mb4")
     },

但是当我运行

update-database
命令时,它给了我这个错误

System.ArgumentException:对象必须与枚举类型相同。 传入的类型是 'MySql.EntityFrameworkCore.Metadata.MySQLValueGenerationStrategy';这 枚举类型是 'Microsoft.EntityFrameworkCore.Metadata.MySqlValueGenerationStrategy'。

但是没有这样的枚举

Microsoft.EntityFrameworkCore.Metadata.MySqlValueGenerationStrategy
,所以我不确定为什么它需要这种枚举类型。

知道如何解决它以及确切的问题是什么吗?

mysql .net-core entity-framework-core asp.net-identity
1个回答
0
投票

尝试在对migrationBuilder的调用中添加“MySql.EntityFrameworkCore.Metadata.MySQLValueGenerationStrategy.IdentityColumn”而不是“MySQLValueGenerationStrategy.IdentityColumn”。

© www.soinside.com 2019 - 2024. All rights reserved.