ストアド プロシージャを EF4 にインポートしましたが、30 秒後に特定のパラメーターを指定して呼び出すと、タイムアウト エラーがスローされます。SQL Server プロファイラーでは、アプリケーションのタイムアウトである 30 秒強かかる適切なパラメーターを使用したストアド プロシージャ コールを確認できます。
ただし、Query Analyzer でプロファイラーに送信された同じ SQL を実行すると、1 秒未満で実行されます。EF からの呼び出しと SQL Server Management Studio からの呼び出しとの間で、この不一致が生じる原因は何ですか?
以下の .NET エラーの完全なスタック トレース。
[SqlException (0x80131904): タイムアウトが発生しました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していませ ん
。
breakConnection) +5064444
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj) +2275
System.Data.SqlClient. SqlDataReader.ConsumeMetaData() +33
System.Data.SqlClient.SqlDataReader.get_MetaData() +86
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior runBehavior、文字列 resetOptionsString) +311
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、ブール値 returnStream、ブール値 async) +987
System.Data.SqlClient .SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data. SqlClient.SqlCommand.ExecuteReader(CommandBehavior 動作、文字列メソッド) +141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior の動作) +12
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior の動作) +10 System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand、CommandBehavior の動作) +443[EntityCommandExecutionException: コマンド定義の実行中にエラーが発生しました。詳細については、内部例外を参照してください。]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) +479
System.Data.Objects.ObjectContext.CreateFunctionObjectResult(EntityCommand entityCommand, EntitySet entitySet, EdmType edmType, MergeOption mergeOption) +182
System.Data.Objects.ObjectContext.ExecuteFunction(String functionName, MergeOption mergeOption, ObjectParameter[] パラメータ) +218
System.Data.Objects.ObjectContext.ExecuteFunction(String functionName, ObjectParameter[] パラメータ) +53
MetaView.DAL.MFCMData.MFCMDATAEntities .GetTradingOpenPositionCounterParty(Nullable1 positionDT, Nullable
C:\Projects\CASH\web\MetaView\MetaView.DAL.MFCMData\MFCMData.Designer.cs:7064 内の 1 TradingAccountID) MetaView.BusinessLayer.Shared.Accounts.CounterParties.GetCounterParties(Int32 TradingAccountID) C:\Projects\CASH 内\web\MetaView\MetaView.BusinessLayer\Shared\Accounts\CounterParties.cs:161