Visualizzare nella finestra Output di Debug il comando SQL emesso da LinqToSQL

Scritto da  Nicolò Carandini il mercoledì 23 novembre 2011  •  Linguaggio: C#   • Livello: 100


Il DataContext ha una proprietà Log di tipo StreamWriter.
Per mostrare l'SQL nella console basta impostare la proprietà Log del DataContext così:

C#

 
myDataContext.Log = Console.Out;
 

 

Se invece vogliamo utilizzare la finestra output del debugger, possiamo creare la seguente classe:

C#

using System.IO;
using System.Diagnostics;
using System.Text;
 
class DebugTextWriter : TextWriter
{
    public override void Write(char[] buffer, int index, int count)
    {
        Debug.WriteLine(new String(buffer, index, count));
    }
 
    public override void Write(string value)
    {
        Debug.WriteLine(value);
    }
 
    public override Encoding Encoding
    {
        get { return Encoding.UTF8; }
    }
}

 

ed utilizzarla così:

C#

 
myDataContext.Log = new DebugTextWriter();
 


Tags: Linq,LINQ to sql

 
x