[モデルファースト]Visual Studio Express 2013 では、MySQL を Entity Framework で操作できない
いろいろ調べてみましたが、Visual Studio Express 2013 (for Web/Windows Desktop) では、MySQL を Entity Framework で操作することができないようです。
現象としては、「ADO.NET Entity Data Model」を追加する際、データソースに MySQL が表示されません。そのために、EDMX ファイルを作成することができません。
この問題を解決するには、Visual Studio 2013 に対応した MySQL for Visual Studio をインストールする必要があるのですが、Visual Studio Express 版はアドインが利用できません。
そのため、Visual Studio Express 2013 では、MySQL を Entity Framework で操作することができないことになります。調べた範囲では、Visual Studio Express 2012 でも同じ状況だったようです。
(追記)
Visual Studio Express 2013 でできないのは「モデルファースト」で、「コードファースト」なら Entity Framework で MySQL を操作可能です。詳しくは以下のエントリーを参照してください。
Visual Studio 2013 Professional 以上では、MySQL for Visual Studio をインストールすることで、MySQL を Entity Framework で操作できるようになるようです。未検証ですが、うまくいったという報告が掲示板にありました。
→ 検証しました。
Visual Studio 2013 で、MySQL を Entity Framework で操作する
Visual Studio Express 2013 で、MySQL を操作するには、NuGet で MySQL.Data パッケージをインストールし、旧来の DataReader の形式を利用します。
サンプルプログラムを以下に掲示するので、参考にしてください。ポイントは、MySql.Data.MySqlClient を読み込むことです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;namespace ConsoleMySql
{
class Program
{
static void Main(string[] args)
{
string connectioinString = "SERVER=192.168.11.10;UID=user01;PASSWORD=pass;DATABASE=Test";MySqlConnection con = new MySqlConnection(connectioinString);
con.Open();MySqlCommand cmd = new MySqlCommand("SELECT * FROM USERS;", con);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(String.Format("{0}:{1}", reader["ID"], reader["NAME"]));
}con.Close();
Console.Read();
}
}
}
スポンサーリンク
Twitter ではブログにはない、いろんな情報を発信しています。
@fnyaさんをフォロー
コメント