Disinstalla MySql.Data e sostituiscilo con MySqlConnector .
(Disclosure:sono il reporter del bug di MySql che hai trovato e il contributore principale a MySqlConnector .)
Oltre a risolvere il problema e molti altri bug , MySqlConnector aggiunge vero supporto I/O asincrono e miglioramenti delle prestazioni.
Se non vuoi cambiare libreria, una funzionalità poco conosciuta di GetBytes
(supportato sia da MySql.Data che da MySqlConnector) è quello che passa in un null
buffer restituisce la lunghezza necessaria, quindi non è necessario codificarlo:
// get the length of the column and allocate a buffer
var length = dbDataReader.GetBytes(0, 0, null, 0, 0);
var passwordHash = new byte[length];
// fill the buffer from the column
dbDataReader.GetBytes(0, 0, passwordHash, 0, passwordHash.Length);