2012-03-12 48 views
0

我在ASP.NET網站中爲我們的業務應用程序使用ADO.NET實體框架。我們使用WCF和LINQ來查詢數據源。我的問題是從數據庫加載數據(例如在gridview中加載數據)花費的時間比預期的要多得多,所以我們希望在ado.net生成的sql語句中記錄語句,以便我們可以看到哪個查詢需要更多時間。如何在ADO.NET實體框架中輸入SQL日誌

如何做到這一點?

+0

在SQL Server計算機上使用SQL Server Profiler - 它會向您顯示** all **有關所有** SQL語句的詳細信息。 – 2012-03-12 12:29:33

+0

http://stackoverflow.com/questions/3586736/see-sql-from-entityframework-with-collection-like-queries/3586875#3586875 – 2012-03-12 13:42:57

+0

你可以看看[EFProf](http://efprof.com) /)。 – 2012-03-12 11:39:24

回答

1

我強烈建議您使用SQL Profiler而不是創建自己的日誌記錄機制。

的Microsoft SQL Server Profiler是一個圖形用戶界面,以SQL 跟蹤監測實例數據庫引擎或分析 服務。您可以捕獲每個事件的相關數據並將其保存到文件或 表中以供日後分析。例如,您可以通過執行得太慢來監視生產環境以查看哪些存儲過程影響性能 。

在你的C#應用​​程序,在您的ConnectionString,加Application Name=yourApp。這將使它更容易在SQL Profiler中定位。

+0

+1,+1(虛擬)爲應用程序名稱提示。 – 2012-03-13 17:51:12

+0

其實我無法找到SQL配置文件(開始 - >所有程序_> Microsoft Sql 2008,性能工具不存在)。我正在使用SQl Management Studio 2008 Express,以任何其他方式來跟蹤ADO.NET生成的SQL查詢。 – DEBAL 2012-03-15 09:14:48

+0

看看這個項目:http://sqlprofiler.googlepages.com/ – 2012-03-15 10:02:02