Работаем с базой данных MySql из .NET Core C#
В данной публикации мы рассмотрим как подключиться к базе данных MySql из приложения на .Net Core.
1. Если у вас ещё не установлен .Net Core то устанавливаем: .NET Core.
2. Далее создаем новый проект .NET Core
mkdir MySqlCoreSample
cd MySqlCoreSample
dotnet new
После выполнения этих команд в папке MySqlCoreSample появится 2 файла: «Program.cs», «project.json».
Это простейший шаблон приложения на .NET Core.
В эти файлы мы и будем вносить изменения, для чего будем использовать Visual Studio Code.
3. Используя расширение NuGet добавляем в наш проект "MySql.Data.7.0.6-ir31"
И добавляем зависимость в файле «project.json».
После изменений файл «project.json» должен выглядеть так:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"MySql.Data": "7.0.6-ir31"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
}
},
"imports": "dnxcore50"
}
}
}
4. Теперь оторвемся от проекта и создадим и заполним тестовыми данными нашу тестовую базу MySql.
CREATE DATABASE IF NOT EXISTS `test` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `test`;
DROP TABLE IF EXISTS `cat`;
CREATE TABLE `cat` (
`idcat` int(11) NOT NULL,
`name` varchar(45) DEFAULT NULL,
`dt` datetime DEFAULT NULL,
PRIMARY KEY (`idcat`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOCK TABLES `cat` WRITE;
INSERT INTO `cat` VALUES (1,'Колбаса','2016-10-28 22:10:30'),(2,'Сыр','2016-10-28 22:10:47'),(3,'Хлеб','2016-10-28 22:10:58');
UNLOCK TABLES;
Данная база состоит из одной таблицы справочника товаров всего с тремя товарами, большего нам для эксперимента и не надо.
5. Последний шаг, возвращаемся в наш проект и меняем файл «Program.cs» следующим образом:
using System;
using MySql.Data.MySqlClient;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
MySqlConnection connection = new MySqlConnection
{
//Строка подключения, у вас может отличаться.
ConnectionString = "server=localhost;user id=root;password=240580;persistsecurityinfo=True;port=3306;database=test;CharSet=utf8"
};
MySqlCommand command = new MySqlCommand("SELECT * FROM test.cat;", connection);
connection.Open();
using (MySqlDataReader reader = command.ExecuteReader())
{
System.Console.WriteLine("Идентификатор\t\tНаименование\t\tДата изменения");
//Перебираем все полученные данные в цикле.
while (reader.Read())
{
string row = $"{reader["idcat"]}\t\t{reader["name"]}\t\t{reader["dt"]}";
System.Console.WriteLine(row);
}
}
connection.Close();
Console.WriteLine("Нажми кнопку чтобы выйти!");
System.Console.ReadKey();
Console.WriteLine("Покедова!");
}
}
}
6. Ресторим и запускаем приложение из консоли.
dotnet restore
dotnet run
Должны увидеть это:
Вот и всё!