2011-11-03 75 views
2

我正在使用LINQ to SQL調用SPROC的系統上工作。LINQ To SQL - 獲取已運行的SQL

有沒有得到那個ExecuteMethodCall已執行

澄清我想原因SQL是記錄在C#級別文件中的SQL的SQL的方式。

+0

你要檢測調試執行,或在運行時的邏輯目的? –

+0

請參閱澄清,歡呼 – AJM

回答

2

使用SQL Server Profiler捕捉到的SQL語句被對你的SQL Server執行

+0

謝謝,我希望SQL的原因是將SQL記錄到C#級別的文件,因此profiler在這裏對我沒有多大用處。 – AJM

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); 
} 
+0

我站好了。四年前的測試版已經脫離內存。抱歉。 –