2016-09-06 67 views
3

我希望能夠在數據庫網頁上顯示那些自動生成的SQL代碼,當對網格中的特定列進行主要排序時。顯示從列排序自動生成的SQL代碼

對於實例,如果您單擊數據庫網頁上的任何列標題,則所選列將按主要排序列排序,然後按升序或降序顯示結果。

我的問題是,是否可以在排序過程後檢索那些自動生成的SQL代碼並將它們顯示在網頁上?似乎無法找到關於此的任何資源。任何可以用作參考的閱讀都將非常感謝。

回答

2

您可以使用Context Log property輕鬆完成。

using (var context = new BlogContext()) 
{ 
    context.Database.Log = Console.Write; 

    // Your code here... 
} 

你可以用它來記錄不同places.Such爲log to memoryfile並通過採用TextWriter不同。

public class MyLogger 
{ 
    public void Log(string component, string message) 
    { 
     Console.WriteLine("Component: {0} Message: {1} ", component, message); 
    } 
} 

//This could be hooked up to the EF Log property like this: 

var logger = new MyLogger(); 
context.Database.Log = s => logger.Log("MyEFApp", s); 

您可以參考此文檔的詳細信息:Logging and Intercepting Database Operations

+2

@phantom當您接受一個答案,那將是巨大的,如果你也投票給答案。這不是強制性的,但它是合理的和推薦的。欲瞭解更多信息,請看看這篇文章:[如何接受答案的工作?](http://meta.stackexchange.com/a/5235/308647) –

+1

@RezaAghaei感謝您的提醒! – Phantom

+1

謝謝隊友:) @RezaAghaei – Sampath