0

グリッドとデータセットオブジェクトが接続されています。そして、LINQで動作するデータレイヤー。そのため、グリッドで削除された要素をLINQデータソースから削除する必要があります。

DataRowアイテムをLINQアイテムに変換するメソッドがあります。例えば:

DataRow forDelete = ...;
LinqItem itemForDelete = ConvertFromDataRow(forDelete);
dataContext.DeleteOnSubmit(itemForDelete);

このコードは例外をスローします。これは、テーブルにアタッチされていないアイテムを削除することはできません。しかし、私がそれをに変更した場合

DataRow forDelete = ...;
LinqItem itemForDelete = ConvertFromDataRow(forDelete);
dataContext.Attach(itemForDelete)
dataContext.DeleteOnSubmit(itemForDelete);

すでに存在するアイテムを添付できないという例外をスローするよりも。

その場合、どうやってアイテムを正しく取り付けるかが問題になります。それで問題は解決するはずです。

4

2 に答える 2

0

例外は、追跡されていないアイテムを削除しようとしているためです。

DeleteOnSubmitの前にIDで検索します。

より詳しい情報:

http://msdn.microsoft.com/en-us/library/bb386982.aspx

linq to sqlで削除する方法は?

于 2012-10-29T16:23:14.073 に答える
0

その質問に対する正しい答えがないか、私が必要なことをする方法がないようです。

于 2012-11-05T23:12:34.750 に答える