Ces multiples requêtes concaténées sont appelées batch
en langage .net.
Vous devez indiquer au connecteur MySQL (le pilote .net pour MySQL) que vous souhaitez utiliser des lots dans votre chaîne de connexion. Utilisez le AllowBatch
possibilité
.
Quelque chose comme ça :
var connectionString = Server=host;Database=db;Uid=user;Pwd=pass;AllowBatch=True;
Vous ne pouvez pas inclure d'appels de procédure stockée dans un lot. Ils doivent être autonomes avec ...CommandType=CommandType.StoredProcedure
.
Mais cela peut ne pas fonctionner selon les versions du serveur et du connecteur. Si ce n'est pas simplement le cas, utilisez votre solution de contournement consistant à "hacher" les instructions SQL. Cela fonctionne bien et ne gâche pas les performances de manière horrible.