0

という名前のテーブルを持つデータベースがありFruitsます。テーブルにはName、 、Date、 の3 つの列がありますRemove

今、次のような値で3行を挿入しました

Apple----20/10/12----N
Mango----21/12/12----Y
Banana--- 15/07/12----N
Grapes----18/12/12----Y

「Y」とマークされた2行を削除したい。

これは、C# コードで Linq を使用して実現したいと考えています。最初に、接続文字列を使用して DB への接続を確立しています。デバイス コンテキスト DC を取得し、これを使用してすべての行をコピーします。

ここで、 としてマークされた行を列挙し、Nremove を呼び出します。

削除したら、次のことを行います。dc.deleteonSubmit<tableName>(var).

この後、 or を呼び出しdc.submittsavechages();て、DB を次のようにします。

Mango----21/12/12----Y
Grapes----18/12/12----Y

SQLクエリアナライザーでクエリを実行すると、上記の結果が得られるはずです。LINQでこれを行う方法は?

4

2 に答える 2

1

これを試して:

Dim dc as new DataClassesDataContext()

Dim deleteFruits = _
    From f In db.Fruits() _
    Where f.Remove _
    Select f

For Each fruit In deleteFruits
    db.Fruits.DeleteOnSubmit(fruit)
Next

Try
    db.SubmitChanges()
Catch ex As Exception
    Console.WriteLine(ex)
    ' Provide for exceptions
End Try
于 2012-10-19T16:24:57.393 に答える