簡體   English   中英

首先在 EF 代碼中跟蹤 SQL 查詢

[英]Trace SQL Query in EF Code First

我首先使用 Entity Framework Code,我希望能夠記錄 DbContext 生成的所有 SQL 查詢。 在 Linq 到 sql 有一個數據庫日志,我似乎無法在 EF 中找到它。 然后我可以將它們放入日志或 output 到頁面。

我使用的是 EntityFramework 程序集的 4.1.0.0 版。

您最好的選擇是使用Entity Framework Profiler ,盡管不幸的是它不是免費的。

您還可以手動獲取 SQL 它將通過在IQueryable本身上運行ToString()來生成,但這必須在每個查詢的基礎上完成。

One final option is that if you are using MS Sql Server as your backend, you can load up the Sql Server Profiler (that comes with Sql Server Management Studio I believe) and log the sql statements from there.

Miniprofiler是實體框架分析器的免費替代品,可讓您跟蹤在 web 請求期間進行的所有 sql 查詢

我就把它留在這里。

public class Context : DbContext
{
    public Context(string connectionString) : base(connectionString)
    { Database.Log = Console.Write;  }
}

借助 EF 之類的工具,使用 SQL Server Profiler 變得比以往任何時候都更加重要,它應該是用於此類情況的主要工具,如果在我們實際編寫查詢時它很重要,那么現在這些工具就更重要了為我們構建查詢,不僅是為了調試,也是為了優化

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM