Verwijder MySql.Data en vervang het door MySqlConnector .
(Disclosure:ik ben de verslaggever van de MySql-bug die je hebt gevonden en de belangrijkste bijdrager aan MySqlConnector .)
Naast het oplossen van dat probleem en vele andere bugs , MySqlConnector voegt echte asynchrone I/O-ondersteuning en prestatieverbeteringen toe.
Als u niet van bibliotheek wilt wisselen, een weinig bekende functie van GetBytes
(ondersteund door zowel MySql.Data als MySqlConnector) is dat doorgeven in een null
buffer geeft de benodigde lengte terug, zodat u deze niet hard hoeft te coderen:
// 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);