Con motivo de seguir aprendiendo a utilizar herramientas libres, he realizado un pequeño proyecto de altas y bajas utilizando el IDE Monodevelop con el motor de base de datos MySql.
Vamos a comenzar por explicar como conectar MySql con Mono. Para ello necesitaremos descargarnos la siguiente dll. Download MySql.dll.
Instalamos MySql.Dada.dll tecleando en consola:
# gacutil -i MySql.Data.dll
Creamos un nuevo proyecto y del lado izquierdo damos click derecho donde dice Referencias y le damos en Editar preferencias... .
En la pestaña de paquetes, palomeamos donde dice System.Data
Pasamos a la pestaña de Ensamblado .NET y buscamos el archivo MySql.Data.dll , lo seleccionamos y presionamos el botón Añadir.
Ahora solamente faltaría añadir unas librerias ya en nuestro proyecto:
Using System.Data;
Using MySql.Data.MySqlClient;
Con ello ya podemos empezar a programar y conectar a MySql. Como primera práctica que realicé, hice un pequeño proyecto de Altas y Bajas.

El programa es algo sencillo y esta algo verde, pero como primer programa creo que es muy útil ya que viene lo esencial para comenzar a realizar un proyecto grande.
Para correr bien el programa, hay que crear una nueva base de datos llamada prueba y crearle una tabla con el siguiente script:
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(10) NOT NULL,
`nombre` varchar(150) collate latin1_spanish_ci NOT NULL,
`apellidos` varchar(200) collate latin1_spanish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci COMMENT='Tabla de Usuarios';
Como ven, es una tabla sencilla de tan solo 3 campos, id qué es el número de control de usuario a ingresar, el campo de nombre y apellido. Hay que modificar la sección de conexión con su nombre de usuario y password de mysql. Creo que no debe de haber ningún problema para entender el programa, algunas partes les puse comentarios para ir explicandolas, aquí dejo algunas operaciones que creo son las más importantes:
Sección de conexión con la base de datos:
string conexion =
"Server=localhost;" +
"Database=prueba;" +
"User ID=root;" +
"Password=tupass;" +
"Pooling=false";
IDbConnection dbcon;
dbcon = new MySqlConnection(conexion);
dbcon.Open();
Sección de insertar usuario, donde control, nombre y apellido son tomados de cajas de texto:
IDbCommand dbcmd = dbcon.CreateCommand();
string sql= "INSERT INTO `prueba`.`usuarios` (`id` ,`nombre` ,`apellidos`) VALUES ( '"+ control +"' ,'"+ nombre +"','"+ apellido +"');";
dbcmd.CommandText= sql; //se manda el query
dbcmd.ExecuteReader(); // se ejecuta el query
dbcon.Close(); // se cierra la conexión
Eliminar usuario:
IDbCommand dbcmd = dbcon.CreateCommand();
string sql = "DELETE FROM `usuarios` WHERE `usuarios`.`id` = '"+ control +"';";
dbcmd.CommandText= sql;
dbcmd.ExecuteReader();
dbcon.Close();
Aquí les dejo el proyecto para la descarga, espero y les sea de utilidad, queda libre de modificaciones y mejoras.

Download