Так что моя проблема в том, что мне нужен цикл внутри сценария миграции, чтобы иметь возможность передавать данные в новое состояние. Однако это не похоже на то, что можно создать хранимую процедуру внутри инструкции Sql в сценарии миграции.MySql Сохраненная процедура/Петля внутри сценария миграции Entity Framework
Ниже приведет к синтаксической ошибке в «DELIMITER» -части высказывания:
public override void Up()
{
Sql(@"
DROP PROCEDURE IF EXISTS SomeProcedure();
DELIMITER //
CREATE PROCEDURE SomeProcedure()
BEGIN
...
END //
DELIMITER ;
CALL SomeProcedure();
");
}
Оператор работает нормально внутри MySql Workbench. Таким образом, это должен быть способ EF обрабатывать заявления, которые вызывают проблему.
Теперь мой вопрос: есть ли вообще способ создать Хранимую процедуру внутри сценария миграции?
Кажется, что DELIMITER вызывает синтаксическую ошибку, но невозможно создать хранимую процедуру без нее? (Я использую EF6)
Я попытался разбить Заявки без каких-либо успехов. И я попробовал разные разделители.
Возможный дубликат [Alter хранимых процедур в БД миграции EF 6 Code First - как пройти через нуль по умолчанию для параметра] (https://stackoverflow.com/ вопросы/23517164/изменить сохраненную-процедуру-в-DB-миграцию-эф-6-кода первой, как к сквозному-NUL) – TravisO