¿Cómo conectarse a la base de datos MySQL?

Soy muy nuevo en la progtwigción C # pero me gustaría poder acceder a bases de datos MySQL (no tengo dinero para MS SQL)

Sin embargo, tengo una pregunta; Sé que se requiere que tengas “MySQL connector / NET” y “MySQL for Visual Studio” para desarrollar la aplicación C #, pero ¿la persona que instala la aplicación también los necesita? (¿Es posible que pueda simplemente liberar el conector DLL con el progtwig?)

Gracias

EDITAR: ¿Los dos son necesarios para el usuario final o solo para el conector? ¿Hay algo más que necesiten?

    using MySql.Data; using MySql.Data.MySqlClient; namespace Data { public class DBConnection { private DBConnection() { } private string databaseName = string.Empty; public string DatabaseName { get { return databaseName; } set { databaseName = value; } } public string Password { get; set; } private MySqlConnection connection = null; public MySqlConnection Connection { get { return connection; } } private static DBConnection _instance = null; public static DBConnection Instance() { if (_instance == null) _instance = new DBConnection(); return _instance; } public bool IsConnect() { if (Connection == null) { if (String.IsNullOrEmpty(databaseName)) return false; string connstring = string.Format("Server=localhost; database={0}; UID=UserName; password=your password", databaseName); connection = new MySqlConnection(connstring); connection.Open(); } return true; } public void Close() { connection.Close(); } } } 

    Ejemplo:

     var dbCon = DBConnection.Instance(); dbCon.DatabaseName = "YourDatabase"; if (dbCon.IsConnect()) { //suppose col0 and col1 are defined as VARCHAR in the DB string query = "SELECT col0,col1 FROM YourTable"; var cmd = new MySqlCommand(query, dbCon.Connection); var reader = cmd.ExecuteReader(); while(reader.Read()) { string someStringFromColumnZero = reader.GetString(0); string someStringFromColumnOne = reader.GetString(1); Console.WriteLine(someStringFromColumnZero + "," + someStringFromColumnOne); } dbCon.Close(); } 

    puede usar Package Manager para agregarlo como paquete y es la forma más fácil de hacerlo. No necesita nada más para trabajar con la base de datos mysql.

    O puede ejecutar debajo del comando en la consola del Administrador de paquetes

     PM> Install-Package MySql.Data 

    NUGET Mysql.Data

    Al mirar el siguiente código, lo intenté y encontré: En lugar de escribir DBCon = DBConnection.Instance(); deberías poner DBConnection DBCon - new DBConnection(); (Eso funcionó para mí)

    y en lugar de MySqlComman cmd = new MySqlComman(query, DBCon.GetConnection()); debería poner MySqlCommand cmd = new MySqlCommand(query, DBCon.GetConnection()); (falta el d)

      private void Initialize() { server = "localhost"; database = "connectcsharptomysql"; uid = "username"; password = "password"; string connectionString; connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "U`enter code here`ID=" + uid + ";" + "PASSWORD=" + password + ";"; connection = new MySqlConnection(connectionString); }