Linq to SQL не регистрируется? - PullRequest
0 голосов
/ 10 апреля 2011

Использование Visual Studio 2010, .NET 4 в качестве консольного приложения.

С точкой останова при закрытии оператора using Visual Studio показывает оператор select при наведении курсора на «вещи». Тем не менее, «stmt1» и «stmt2» оба пусты. Почему?

Спасибо.

Консольное приложение:

using ( var cona = new mydbcontext(connstring) )
    {
        var stuff = from a in cona.testtable select a;
        var stmt1 = cona.SqlStatement;
        string stmt2 = cona.GetLoggedInformation();
    }

и

public partial class mydbcontext : DataContext
{
    private StringBuilder bldr = new StringBuilder();
    partial void OnCreated()
    {
        this.CommandTimeout = 120;
        this.Log = new StringWriter(bldr);
    }
    public String GetLoggedInformation()
    {
        return bldr.ToString();
    }
    public string SqlStatement
    {
        get { return this.bldr.ToString(); }
    }
}

1 Ответ

1 голос
/ 10 апреля 2011

Скорее всего, журнал не записывается до тех пор, пока не выполнится инструкция.

Попробуйте это

using ( var cona = new mydbcontext(connstring) )
{
    var stuff = from a in cona.testtable select a;
    var data = stuff.ToList();
    var stmt1 = cona.SqlStatement;
    string stmt2 = cona.GetLoggedInformation();
}
...