未分類

C# SQL Server データベースに LINQ を使ってデータを DELETE する

準備

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 db = new NorthwndDataContext();
  
  var query = from n in db.Employees
              where n.LastName == "Yamada"
              select n;
  
  foreach (var item in query)
  {
    db.Employees.DeleteOnSubmit(item);
  }
  
  db.SubmitChanges(); 
}

解説

O/R マッピングにより、データベースに接続しています。これは NorthwindDataContext クラスによって行われています。データの更新は、まず LINQ により更新対象データを絞り込み query に保存します。

その後、Query 内の削除したい行を削除します。

最後に SubmitChanges メソッドを実行して削除を確定します。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類