文章出處
文章列表
在 VS 調試的時候,如果我們項目中使用的是 EntityFramework,查看 SQL 執行代碼就不像 ADO.NET 那樣直觀了,我們需要設置下,可以參考下:
按照 MSDN 的設置,發現 DbContext 并沒有 Log 屬性,應該是 EntityFramework 版本問題,stackoverflow 中的“context.Database.Log = Console.WriteLine;”,是我們想要的答案,但是只能用于控制臺應用程序,我們調試項目輸出應該使用:Debug.WriteLine,但是這樣又會抱如下錯誤:
異常信息:無法用“System.Diagnostics.Debug.WriteLine(string)”創建委托,因為它具有 Conditional 特性。
正確代碼
根據 Log 屬性的類型 Action
Context.Database.Log = new Action<string>(q => Debug.WriteLine(q));
這樣調試項目的時候,我們就可以在“輸出窗口”,看到 EntityFramework 生成并執行的 SQL 代碼了。
文章列表
全站熱搜