LINQ to SQL - 获取已运行的SQL

时间:2011-11-03 16:33:47

标签: c# sql linq-to-sql

我正在使用LINQ to SQL来调用SPROC的系统。

是否有办法获取 ExecuteMethodCall 已执行的SQL

CLARIFICATION 我希望SQL的原因是将SQL记录到C#级别的文件。

2 个答案:

答案 0 :(得分:3)

您可以使用DataContext.Log属性:

// Attach a TextWriter, e.g. Console.Out
db.Log = File.CreateText(@"sql.log");

IQueryable<Customer> custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach(var custObj in custQuery)
{
    Console.WriteLine(custObj.CustomerID);
}

答案 1 :(得分:2)

使用SQL Server Profiler捕获针对SQL Server执行的SQL语句