準備
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#)
// 名前空間の追加
using System.Data.Linq;
// コード
private void button1_Click(object sender, EventArgs e)
{
var SQL = CompiledQuery.Compile((NorthwndDataContext NorthWnd, string city) =>
from emp in NorthWnd.Employees
where emp.City == city
select emp);
NorthwndDataContext db = new NorthwndDataContext();
foreach (var item in SQL(db, "London"))
{
Console.WriteLine(item.LastName + " " + item.FirstName);
}
}
解説
CompiledQuery クラスの Compile メソッドを使って、式ツリーをコンパイルしておきます。コンパイルされた式ツリーは SQL に入ります。
実際に使用するときには、SQL にパラメーターを渡す方法で使います。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0)