Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySqlCommand Prepare() ne définit jamais IsPrepared sur true

J'ai finalement récupéré le code source de MySql Connector / .NET et j'ai découvert que si MySqlCommand.Connection.Settings.IgnorePrepare =true (ce qui est la valeur par défaut !), alors l'appel de Prepare n'est pas une opération.

La façon de résoudre ce problème consiste à définir explicitement IgnorePrepare sur false dans la chaîne de connexion. Cela peut être fait assez facilement avec un MySqlConnectionStringBuilder en utilisant l'extrait de code suivant :

MySqlConnectionStringBuilder connBuilder = new MySqlConnectionStringBuilder();
// .. set up the rest of your connection
connBuilder.IgnorePrepare = false;

MySqlConnection conn = new MySqlConnection(connBuilder.ToString());