未知列';需要验证';在';字段列表';MySQL

未知列';需要验证';在';字段列表';MySQL,sql,asp.net,asp.net-core,Sql,Asp.net,Asp.net Core,我有一个采用代码优先方法的.Net核心项目 这是我的迁移,我用枚举填充表 protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.Sql( $"INSERT INTO ValidationStatuses(Id,Name) VALUES({(int) ValidationStatusEnum.ValidationRequired},{

我有一个采用代码优先方法的.Net核心项目

这是我的迁移,我用枚举填充表

protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.Sql(
            $"INSERT INTO ValidationStatuses(Id,Name) VALUES({(int) ValidationStatusEnum.ValidationRequired},{ValidationStatusEnum.ValidationRequired})");
        migrationBuilder.Sql(
            $"INSERT INTO ValidationStatuses(Id,Name) VALUES({(int) ValidationStatusEnum.Validated},{ValidationStatusEnum.Validated})");
        migrationBuilder.Sql(
            $"INSERT INTO TenantTypes(Id,Name) VALUES({(int) TenantTypeEnum.Agency},{TenantTypeEnum.Agency}");
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.Sql(
            "DELETE FROM ValidationStatuses");
        migrationBuilder.Sql(
            "DELETE FROM TenantTypes ");
    }
当我试着运行它时,我有这个

“字段列表”中的未知列“ValidationRequired”


我如何解决这个问题?

您缺少了告诉MySQL这是字符串值而不是cloumn的引号

$"INSERT INTO ValidationStatuses(Id,Name) VALUES('{(int) ValidationStatusEnum.ValidationRequired}','{ValidationStatusEnum.ValidationRequired})'");

您可能需要将我在MySQL中添加的单引号替换为双引号