попытка НАЧАТЬ КОНЕЦ не сработала для меня.
Что я сделал, так это сделал новый метод, который дает соединение (я стараюсь свести к минимуму мои открытые соединения), он разделяет операторы, используя; в качестве разделителя и работает каждый по отдельности
private void ExecuteSql(string statements, IDbConnection conn)
{
IDbCommand cmd = conn.CreateCommand();
string[] commands = statements.Split(new string[] { ";\r\n", "; ", ";\t", ";\n" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string c in commands)
{
cmd.CommandText = c;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
cmd.Dispose();
}
Мое вдохновение пришло от этой записи после Петрос рассказал мне об этом
PS Возможно, вам придется изменить его в соответствии с вашими потребностями, в моем случае я требую, чтобы соединение было открытым и соответствующим образом закрыто, если что-то произойдет с вызывающей стороной.