2016-09-06 7 views
3

ウェブグリッド内の特定のカラムをプライマリソートするときに、自動的に生成されたSQLコードをデータベースのウェブページに表示したいと考えています。カラムソートから自動的に生成されたSQLコードを表示する

インスタンスの場合、データベースWebページ上の任意の列ヘッダーをクリックすると、選択した列が1次ソート列としてソートされ、結果が昇順または降順で表示されます。

私の質問は、自動的に生成されたSQLコードをソートプロセスの背後に取得し、それらをWebページに表示することは可能でしょうか?これについてのリソースも見つけられないようです。参照として使用することができるすべての読書は非常に高く評価されます。

答えて

2

Context Log propertyを使用すると簡単に行うことができます。あなたがlog to memoryfileと異なるplaces.SuchにログインするためとTextWriterの異なる種類を使用してそれを使用することができ

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

    // Your code here... 
} 

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

関連する問題