####前提条件
MySqlのインストール
MySql WorkBenchのインストール
DapeprをNuGetからインストール
DapperExtensionをNuGetからインストール
###MySQL WorkBenchでDBを作成する
RiderにMySqlに接続するツールがあり、スキーマ、テーブル、カラムが作成できます。
DBの作成の仕方がわからなかったため、MySql WorkBenchからDbだけを作成します
WorkBenchでDbだけ作成します。
####DBへ接続
DBを作成したらRiderから接続します。
DataBaseにスキーマ名を記入します。
####Rider上のテーブルの作成
DBち(スキーマ)を作成するとテーブルを作成できるようになります。
###Rider上でのDBの操作
カラムを追加したり、外部キーを追加したりできます。
####NuGetからMySql.Dataをダウンロード
NugetからMySqlクライアントMySql.Dataをインストールします
####スキーマからモデルを生成する
ここからソースをダウンロードし、Riderのフォルダの中に格納しすぐモデルファイルを作成できるようにします。
MySql用にカスタマイズしていきます。
右クリックから実行しモデルファイルを生成します。
####テストソース
using System;
using System.Linq;
using MySql.Data.MySqlClient;
using Dapper;
using DapperExtensions;
namespace mySql
{
class Program
{
public class test
{
public Int64 id { get; set; } = 0;
public string code { get; set; } = null;
public string name { get; set; } = null;
}
static void Main(string[] args)
{
MySqlConnectionStringBuilder b = new MySqlConnectionStringBuilder();
b.Server = "localhost";
b.Port = 3306;
b.Database = "";
b.UserID = "";
b.Password = "";
MySqlConnection con = new MySqlConnection(b.ConnectionString);
//MySQL形式でSQLを書き出す
DapperExtensions.DapperExtensions.SqlDialect = new DapperExtensions.Sql.MySqlDialect();
//Dapperの_の入ったカラム名を有効にする。
Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
con.Open();
string sql = "select * from test;";
var result = con.Query<test>(sql);
foreach(var p in result) {
Console.WriteLine("ID:" + p.id + " 名:" + p.name);
}
test test1 = new test();
test1.name = "test2";
test1.code = "java";
con.Insert<test>(test1);
string sql3 = "select * from test Where code = 'java';";
var test_result2 = con.QueryAsync<test>(sql3);
Console.WriteLine(test_result2.Result);
foreach (test test_t in test_result2.Result)
{
con.Delete<test>(test_t);
}
var result5= con.QueryAsync<test>(sql);
Console.WriteLine(" count " + result5.Result.Count());
con.Close();
}
}
}
####MySqlの設定
Adavancedのところで変数を設定できます
####課題
DapperExtensionのInsertAsyncなどAsync系が実行できなかった。