2

同じデータ ストアで連続した削除/挿入ステートメントを実行するときに、SubmitChanges() を継続的に呼び出す必要があるかどうか疑問に思っています。

db.SomeTable.DeleteAllOnSubmit( db.SomeTable.Where( p => p.PartID == part.PartID ) );
db.SubmitChanges();

List<SomeTable>     alist = new List<SomeTable>();

foreach ( GenericLookupE item in part.PublicAssistance )
{
    alist.Add( new SomeTableEntity() { . . . } );
}

db.SomeTable.InsertAllOnSubmit( alist );
db.SubmitChanges();

基本的に、このテーブルに保存しているすべての値はチェックボックスの結果です (1 人の参加者から多数のチェックボックス)。そのため、その参加者のテーブル内のすべてを削除し、「一括」を挿入するリストを作成します。

私がこれを明確に述べているかどうかはわかりません。

別の言い方をすれば、SubmitChanges を呼び出さずに DeleteAllOnSubmit を実行し、次に InsertAllOnSubmit を呼び出し、最後に SubmitChanges を呼び出すと、期待どおりに機能しますか?

ありがとう。

4

1 に答える 1

4

はい、正しく機能します。すべての変更と SubmitChanges を 1 回だけ実行する方が、個別に送信するよりも一般的に優れていると考えられます。

于 2012-01-14T06:30:38.067 に答える