Afinstaller MySql.Data, og erstat det med MySqlConnector .
(Oplysning:Jeg er reporter af MySql-fejlen, du fandt og den primære bidragyder til MySqlConnector .)
Samt at løse det problem og mange andre fejl , MySqlConnector tilføjer ægte async I/O-understøttelse og ydeevneforbedringer.
Hvis du ikke ønsker at skifte bibliotek, er en lidet kendt funktion i GetBytes
(understøttet af både MySql.Data og MySqlConnector) er, at indlevering af en null
buffer returnerer den nødvendige længde, så du behøver ikke at hardkode den:
// 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);