準備
1. こちらを参考にして、SQL Server 用の NORTHWND.MDF を用意します。
2. NORTHWND.MDF ファイルをソリューションエクスプローラーのプロジェクトノードにドラッグ & ドロップします。
- データセットを選択して、[次へ] をクリックします。
- テーブルにチェックを付けて、[完了] をクリックします。
2. プロジェクトに新しい項目として、LINQ to SQL クラスを追加します。名前を Northwnd.dbml とします。
3. ソリューションエクスプローラーから Northwnd.dbml を開きます。
4. サーバーエクスプローラーからテーブルの employee をNorthwnd.dbml にドラッグ & ドロップします。
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。
サンプルコード (C#)
// 名前空間の追加 // (なし) // コード private void button1_Click(object sender, EventArgs e) { NorthwndDataContext North = new NorthwndDataContext(); var query = from emp in North.Employees where emp.City == "London" select emp; foreach (var emp in query) { listBox1.Items.Add(emp.LastName + " " + emp.FirstName); } }
解説
LINQ による SQL Server へのアクセスの仕組みとしては、まず 、LINQ to SQL クラスによる O/R マッピングによるデータベース接続があります。この機能により、データベースへの接続が行われます。従って接続に関するコードは一切記述しなくてもよいのです。実際のデータは、O/R マッピングによって作成される PubsDataContext クラスをインスタンス化することでアクセスできます。
この PubsDataContext オブジェクトに対して、LINQ を使ってアクセスすることでデータ抽出ができます。
結果
動作確認環境
Visual Studio 2015 Professional (C# 6.0)