Я переименовываю некоторые столбцы, используя миграции EF6, и мне нужно обновить несколько функций, представлений и хранимых процедур, которые используют столбцы. Я хочу добавить их как отдельные Sql()
вызовы в различные частные методы, чтобы облегчить чтение всей миграции.
Когда я это делаю, я могу без проблем запустить миграцию, используя update-database
, но если я создаю сценарии (используя update-database -script
), сценарий запускается не полностью, потому что 'ALTER FUNCTION' must be the first statement in a query batch.
.
Я пытался поставить GO
в конце каждого оператора Sql()
, но когда EF генерирует скрипт, он удаляет GO
. Если я попробую с двумя из них (см. Ниже), EF выдаст ошибку The argument 'sql' cannot be null, empty or contain only white space.
ALTER FUNCTION myFunc
...
GO
GO
Я хочу иметь возможность запускать миграцию через EF или с помощью генерации скрипта, и для того, чтобы оба работали без необходимости изменять какую-либо конфигурацию или изменять скрипт вручную.