SQL Server 2008 R2 で単純なストアド プロシージャを実行しようとしています。
Studio Management を使用して手順を実行すると、1 秒もかからずに応答が返されます。EF を使用して実行すると、2 分後にタイムアウト例外が発生します (CommandTimeout を 2 分に設定しました)。
LINQ を使用しているときは問題なく動作しますが、ストアド プロシージャの方が好みです。
何が問題なのか知っている人はいますか?
SQL Server 2008 R2 で単純なストアド プロシージャを実行しようとしています。
Studio Management を使用して手順を実行すると、1 秒もかからずに応答が返されます。EF を使用して実行すると、2 分後にタイムアウト例外が発生します (CommandTimeout を 2 分に設定しました)。
LINQ を使用しているときは問題なく動作しますが、ストアド プロシージャの方が好みです。
何が問題なのか知っている人はいますか?
通常、Compact 以外の SQL Server エディションを使用している場合は、Entity Framework との接続文字列に MultipleActiveResultSets=True が必要です。これはあなたの問題かもしれません。また、他の人が示唆しているように、SQL プロファイラーをチェックして、データベースに送信されているコードを確認しましたか?
特にEFはLinqステートメントに従って非常に最適化されたクエリを作成するため、奇妙に聞こえます。SQLプロファイラーを使用して、データベースに送信されたコマンドを確認してください。