Entity framework core 实体框架核心SQLite版本
我正在为SQLite使用EF Core v2.2.1,并且刚刚进行了一次新的迁移,在这里我重命名了表中的一个字段 迁移代码看起来像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
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