2016年11月9日

【C#】LINQ to SQL (データの削除)


LINQ to SQLによるデータの削除方法です。

まず、あらかじめSQL Serverに以下のようなテーブルを作成しています。

テーブル名:T_Animals

列名
[ID] [int] NOT NULL
[Name] [nvarchar](50) NULL
[Type] [nvarchar](50) NULL

格納されてるデータ
ID Name Type
1 たま
2 ピーター うさぎ
3 トム
4 お父さん
5 ふてニャン
6 プー くま
7 ファーファ くま
8 ラスカル アライグマ
9 サトちゃん
10 チーバくん
11 パトラッシュ
12 バリィさん
13 ぐんまちゃん ポニー

C#
var db = new LinqTest01.DataClasses1DataContext();

var query = from n in db.T_Animals
            where n.ID == 7
            select n;

foreach (var q in query)
{
    // エンティティを削除保留状態にする
    db.T_Animals.DeleteOnSubmit(q); 
}

// データベースへ変更内容を送信
db.SubmitChanges();

var result = from n in db.T_Animals
             select n;

foreach (var r in result)
{
    Console.WriteLine("{0}, {1}, {2}", r.ID, r.Name, r.Type);
}


実行結果







スポンサーリンク