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);
}
実行結果

スポンサーリンク