私は(夜間に)linq2sqlクエリの形式で大量のデータを取得し、これをXML(サイトマップ)としてダンプするプロセスを持っています。私の問題は、私が時々得ていることです:
System.Data.SqlClient.SqlException:
トランザクション(プロセスID XX)は、別のプロセスとのロックリソースでデッドロックされ、デッドロックの犠牲者として選択されました。トランザクションを再実行します。
このクエリは読み取り専用であり、「トランザクションセーフ」である必要はありません。例外を回避するために、このようなプロセスを作成できますか?
編集:
基本的にコードは次のとおりです。
foreach(Record record in MyDataContext.FatTableWithRecords) //about 50' records
{
//produce some XML (dumped to file when max 50' records or 10MB large)
}