我正在尝试使用
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
,所以我不确定为什么它需要这种枚举类型。
知道如何解决它以及确切的问题是什么吗?
尝试在对migrationBuilder的调用中添加“MySql.EntityFrameworkCore.Metadata.MySQLValueGenerationStrategy.IdentityColumn”而不是“MySQLValueGenerationStrategy.IdentityColumn”。