私のプロジェクトでは、dbmlを使用してlinq to sqlのデータベースにアクセスします。必要ないくつかの操作でトランザクションを使用します。TransactionScopeを既定でUncommitedに設定する方法
データベースは、私は次のエラーに直面して成長しているとおり:
タイムアウト期限切れ。操作が完了する前にタイムアウト時間が経過したか、サーバーが応答していません。
トランザクション(プロセスID 82)がデッドロックされましたロックオン|他のプロセスとの通信バッファリソースがデッドロックの犠牲者として選択されました。トランザクションを再実行
プロジェクトには何千ものlinqクエリが広がっています。したがって、時間がかかるので、すべての選択クエリにTransactionSope
コードを入力することはできません。
dbmlにデフォルトのトランザクションIsolationLevelを設定して、コミットされていない状態でデッドロック状態にならないようにする方法はありますか?
問題についてご不明な点がありましたらお知らせください。クエリの実行が動作するはずの前に呼び出し後
Flammethrowerを使ってフライを殺すように聞こえるかもしれませんが、うまくいくかもしれませんが、デッドロックを緩和することはできません(デッドロックが 'INSERT'/'UPDATE' /' DELETE'ステートメント)。 –
linqでトランザクションを使用する方法はありますか?私たちが "NoLock With"をSQLの文章で使うようなものです。 ? –