2012-03-12 4 views
0

私はASP.NET Webサイトのビジネスアプリケーション用にADO.NET Entity Frameworkを使用しています。 WCFとLINQを使用してデータソースを照会しています。私の問題は、データベースからのデータ読み込み(例:gridviewのデータ読み込みなど)が予想よりもはるかに時間がかかることです.SQLが生成したSQL文をログに記録して、より多くの時間がかかることがわかります。ADO.NET Entity FrameworkでSQLログを入力する方法

これを行う方法?

+0

SQL ServerマシンでSQL Server Profilerを使用すると、** all ** ** ** ** SQLステートメントの詳細が表示されます。 –

+0

http://stackoverflow.com/questions/3586736/see-sql-from-entityframework-with-collection-like-queries/3586875#3586875 –

+0

[EFProf](http://efprof.com)をご覧ください。 /)。 –

答えて

1

独自のログメカニズムを作成するのではなく、SQL Profilerを使用することを強くお勧めします。

のMicrosoft SQL Serverプロファイラは、データベースエンジンまたはAnalysis Servicesのインスタンスを監視するためのSQLトレース へのグラフィカル・ユーザー・インターフェースです。各イベントのデータをキャプチャしてファイルまたは テーブルに保存して、後で分析することができます。たとえば、生産 の環境を監視して、パフォーマンスに影響を与えるストアドプロシージャを確認することができます。 実行が遅すぎます。

C#アプリケーションのConnectionStringに、Application Name=yourAppを追加します。これにより、SQLプロファイラでの検索が容易になります。

+0

+1、アプリケーション名のヒント+1(仮想)。 –

+0

実際に私はSQLプロファイル(スタート - >すべてのプログラム_> Microsoft SQL 2008、パフォーマンスツールは存在しません)を見つけることができません。私は、SQl Management Studio 2008 Expressを使用しています.ADO.NETで生成されたSQLクエリをトレースする方法は他にあります。 – DEBAL

+0

このプロジェクトを見てみましょう:http://sqlprofiler.googlepages.com/ –