1

Entity Framework 4.3.1 を使用して、1,000 個の個別のテーブル行を並行して挿入、更新、削除できますか?

あなたならどうしますか?並列フレームワーク タスク? スレッド?他の何か?

4

1 に答える 1

0

TPL を使用してこれを行うことができますが、EF には疑問があります。ADO.NET では、呼び出しが同じ行に対して行われる場合 (更新の可能性が最も高い)、呼び出しごとに CommandText が一意であることを確認する必要があります。そのため、更新ごとに新しい接続を作成して閉じる必要がある場合があります。接続プールの使用は、選択クエリに対してのみ意味があります。他のスレッドが同じことをしているときに、別のスレッドが同じテーブルを更新することを望まないからです。インサートは問題ないかもしれません。削除がどのようになるかわかりません。行がすでに削除されている場合、何かを返してそれを使用しない限り、何も起こりません。

または、アイテムをコレクションにコピーして(更新のために既存のアイテムを削除します)、一括挿入を行うことができます。

あなたは見つけるためにテストする必要があります!

于 2012-12-09T04:43:19.780 に答える