Estas múltiples consultas concatenadas se conocen como batch
en lenguaje .net.
Debe decirle al conector MySQL (el controlador .net para MySQL) que desea usar lotes en su cadena de conexión. Use el AllowBatch
opción
.
Algo como esto:
var connectionString = Server=host;Database=db;Uid=user;Pwd=pass;AllowBatch=True;
No puede incluir invocaciones de procedimientos almacenados dentro de un lote. Deben estar solos con ...CommandType=CommandType.StoredProcedure
.
Sin embargo, es posible que esto no funcione según las versiones del servidor y del conector. Si no usa su solución alternativa de "cortar" las declaraciones SQL. Funciona bien y no estropea el rendimiento de forma horrible.