Linq to Entities:查看生成的查询(context.Log = Console.Out)

nob*_*ody 5 c# linq ado.net linq-to-entities sql-server-2008

我刚刚意识到如果你的C#应用​​程序使用LINQ-TO-SQL类来与数据库连接,你可以这样查询

        using (DatabaseContext context = new DatabaseContext())
        {
            context.Log = Console.Out;
            var query = from Person p in context.People
                        where person.Name == "john"
                        select p;                                
            Console.WriteLine(query.Name);
        }
Run Code Online (Sandbox Code Playgroud)

LINQ-TO-ENTITY中的等价物(这是ADO.NET的另一个名称吗?)
context.Log = Console.Out
或者还有另一种方法可以查看对数据库的实际SQL查询吗?

Sli*_*SFT 9

如果您有MS SQL Server,我总是使用SQL事件探查器.这是什么DBMS?LINQ 2实体支持多种数据库类型.

这也有效......

var cust = (from c in context.Customers select c);

string sql = ((ObjectQuery)cust).ToTraceString();
Run Code Online (Sandbox Code Playgroud)

来自MSDN论坛

  • 无赖,快递版没有SQL分析器 (3认同)