私はこれが奇妙であることを知っていますが、MVCアプリケーションでエラーをトリガーしたいと思います。このエラーは、テーブルから1つのレコードを取得したいLINQクエリに基づいています。このレコードは、T-SQLコマンドを使用して(データベース/テーブル/行)レベルでブロックされますが(たとえば、この1つのレコードを常に更新する無限ループ)、LINQクエリはクエリを実行してそのレコードを読み取ります。 LINQが試行する場合、結果は20〜30秒後にタイムアウトになるはずです。
あなたの質問を正しく理解していれば、テストのためにテーブルロックを強制したいようです。 SQL Serverでこれを行うには、目的のテーブルで排他テーブルロックを引き起こすストアドプロシージャを作成して実行できます。そのロックがアクティブになっている間、テストするプログラムを実行できます。
次のストアドプロシージャは、テーブルを2分間ロックします。ニーズに合わせて遅延パラメーターを変更できます。
BEGIN TRAN
SELECT 1 FROM TABLE WITH (TABLOCKX)
WAITFOR DELAY '00:02:00'
ROLLBACK TRAN
GO
これを行うための一般的なアプローチは、以下のstackoverflowの投稿で説明されています。 MSDNリンクは、WAITFORステートメントに関する追加情報を提供します。
それが役に立てば幸い。