今日もちょいつか

お酒の飲み過ぎか、それとも歳のせいなのか毎日ちょっぴり疲れ気味なフリーのソフト屋です。ソフト開発の話題をblogにしてみます。

ASP.NET Core MVC でMySQLを使ってみる

ASP.NET Core MVCでのシステム開発を進めるために
とりあえず、MySQLのサンプルコードを記述してみました。

NuGetでMySQL.Dataを取得

そのままの環境ではMySQLを使えませんので、NuGet(Visual Studio拡張機能として付属しているライブラリのパッケージ管理システム)を使ってMySQL.Dataを設定します。
・メニューの「プロジェクト」-「NuGet パッケージの追加」を選択
・右上の検索窓に「MySQL」と入力
・左の一覧にMySQL.Dataが表示されるので選択して、パッケージを追加クリック
f:id:Heinlein:20171117141356p:plain

appsettings.jsonMySQL接続情報を記述

  "ConnectionStrings": {
    "MySQL": "Database=データベース名;Data Source=localhost;User Id=root;Password=パスワード"
  }

テストコードの記述

今回は簡単なテストコードですので、Controllersの中に記述してみました。

using MySql.Data.MySqlClient;
using Microsoft.Extensions.Configuration;
using System.IO;

var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
var config = builder.Build();
string connectionInfo = config.GetConnectionString("MySQL");
MySqlConnection cn = new MySqlConnection(connectionInfo);
cn.Open();

string dbData = "";
MySqlCommand command = new MySqlCommand("SELECT * FROM hatena", cn);
using (MySqlDataReader reader = command.ExecuteReader())
{
    while (reader.Read())
    {
          dbData += reader["Name"];
     }
}
cn.Close();

hatenaテーブルのNameフィールドの値を変数へ格納してみました。