MySql tem conector para .Net. Você não precisa usar ODBC,
O MySql Connector permite que você interaja com seu banco de dados MySql e é totalmente gerenciado pelo provedor ADO.Net. Você tem o binário (dll) ou o código-fonte, se desejar. É bem simples, uma vez que você importou a dll, você só precisa de uma string de conexão (nome de usuário, senha, localização) e você estará configurado!
Aqui está um exemplo de código (ref:bitdaddy.com ):
string MyConString = "SERVER=localhost;" +
"DATABASE=mydatabase;" +
"UID=testuser;" +
"PASSWORD=testpassword;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select * from mycustomers";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
string thisrow = "";
for (int i= 0;i<Reader.FieldCount;i++)
thisrow+=Reader.GetValue(i).ToString() + ",";
listBox1.Items.Add(thisrow);
}
connection.Close();
Sugiro que você não coloque seu código e persistência no mesmo lugar e coloque sua string de conexão em seu App.Config, mas acho que isso mostra como fazer isso.