Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework core 实体框架核心SQLite版本_Entity Framework Core - Fatal编程技术网

Entity framework core 实体框架核心SQLite版本

Entity framework core 实体框架核心SQLite版本,entity-framework-core,Entity Framework Core,我正在为SQLite使用EF Core v2.2.1,并且刚刚进行了一次新的迁移,在这里我重命名了表中的一个字段 迁移代码看起来像 migrationBuilder.RenameColumn( name: "OldColumnName", table: "Table", newName: "NewColumnName"); 当我应用迁移时,它会创建以下SQL: ALTER TABLE "Table" RENAME COLUMN "OldColumnName" TO "N

我正在为SQLite使用EF Core v2.2.1,并且刚刚进行了一次新的迁移,在这里我重命名了表中的一个字段

迁移代码看起来像

migrationBuilder.RenameColumn(
    name: "OldColumnName",
    table: "Table",
    newName: "NewColumnName");
当我应用迁移时,它会创建以下SQL:

ALTER TABLE "Table" RENAME COLUMN "OldColumnName" TO "NewColumnName";
支持SQLite 3.25

但在EF Core中,我收到一个例外:

Error while executing SQL query on database 'MyDatabase': near "COLUMN": syntax error
听起来它使用了SQLite的旧版本。如何检查EF Core使用的是哪个版本


编辑:我找到了一个解决方法,但实际上我的问题是“我如何知道我当前使用的是哪个版本的SQLite?”。

在ef core中为SQLite db重命名列是有限的,不受支持。您可以找到正式的限制列表

您可以找到此问题的错误报告

中有一个解决此问题的方法,我认为对于这种特定情况(重命名列)的正确方法是使用本机SQLite库,如本文所述,但通常SQLiteStudio会做到这一点。
Error while executing SQL query on database 'MyDatabase': near "COLUMN": syntax error