Mysql
 sql >> Database >  >> RDS >> Mysql

MySqlCommand Prepare() non imposta mai IsPrepared su true

Alla fine ho estratto il codice sorgente per MySql Connector / .NET e ho scoperto che se MySqlCommand.Connection.Settings.IgnorePrepare =true (che è l'impostazione predefinita!), quindi chiamare Prepare non è un'operazione.

Il modo per risolvere questo problema è impostare in modo esplicito IgnorePrepare su false nella stringa di connessione. Questo può essere fatto abbastanza facilmente con un MySqlConnectionStringBuilder usando il seguente frammento di codice:

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

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