タイトル通り。ついでにEFから呼べるようにもする。まずはNugetで↓をインストール。
そしたら、まず、SQL直接書くやつ。
using MySql.Data.MySqlClient; public void test() { string constr = @"Database=hogedb;Data Source=fugaserver;User Id=root;Password=passpass"; string error = ""; string title = ""; using (MySqlConnection cn = new MySqlConnection(constr)) { try { cn.Open();// 接続 //クエリ発行 MySqlDataAdapter da = new MySqlDataAdapter("select title from hogetables limit 1;", cn); DataTable dt = new DataTable(); da.Fill(dt); foreach (DataRow row in dt.Rows) { title = row[0].ToString(); } cn.Close();//クローズ } catch (Exception e) { error = e.Message; } } }
次はEF。多分↑のインストールとは別に、EFを入れないとダメ。
最初はWeb.Config。まーこれでやる必要はないけど何となく。
<connectionStrings> <add name="RealConnection" connectionString="Database=hogedb;Data Source=fugaserver;User Id=root;Password=passpass" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
テーブル用のPOCO。
[Table("hogetables")] public class hogetable { [Key] public int id { get; set; } public string title { get; set; } }
public class MOGEModels : DbContext { public MOGEModels() : base("RealConnection") { } public DbSet<hogetable> hogetables{ get; set; } public void test() { foreach (var tmp in this.hogetables.Where(n => n.id == 10)) { tmp.title; } } }
とゆーことで、普通に使えますねって当たり前か。。。
正直、RedmineとかのDBをちょっと他から触りたくなっただけです。Rubyでプラグインとか作るのめんどー。