未分類

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

準備

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)
  {
    item.FirstName = "Ichiro";
  }
  
  db.SubmitChanges();
}

解説

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

その後、Query 内の更新したい列に対して、データを設定します。

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

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類