Entity Framework Core версия SQLite - PullRequest
0 голосов
/ 15 февраля 2019

Я использую EF Core v2.2.1 для SQLite и только что сделал новую миграцию, где я переименовал поле в таблице.

Код миграции выглядит так:

migrationBuilder.RenameColumn(
    name: "OldColumnName",
    table: "Table",
    newName: "NewColumnName");

При применении миграции создается следующий SQL:

ALTER TABLE "Table" RENAME COLUMN "OldColumnName" TO "NewColumnName";

Начиная с SQLite 3.25, поддерживается https://www.sqlite.org/changes.html

Enhancements the ALTER TABLE command:

    Add support for renaming columns within a table using ALTER TABLE table RENAME COLUMN oldname TO newname.
    Fix table rename feature so that it also updates references to the renamed table in triggers and views.

Но в EF Core я получаю исключение:

Error while executing SQL query on database 'MyDatabase': near "COLUMN": syntax error

Похоже, он использует старую версию SQLite.Как проверить, какую версию использует EF Core?

РЕДАКТИРОВАТЬ: я нашел обходной путь, но на самом деле мой вопрос «как узнать, какую версию SQLite я сейчас использую?».

1 Ответ

0 голосов
/ 15 февраля 2019

Переименование столбца для sqlite db в ядре ef ограничено и не поддерживается, вы можете найти официальные списки ограничений здесь

есть сообщение об ошибке для этой проблемы, которое вы можете найти здесь
и есть обходной путь для этой проблемы в здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...