0

私は SqlServerQueryVisualizer を持っています。「accounts」変数にカーソルを合わせると、SQL が表示されます。しかし、「results」変数にカーソルを合わせると、SQL クエリが表示されません。次のコードで「results」変数の SQL クエリを表示するにはどうすればよいですか?

    public IEnumerable<T> FindAll(Func<T, bool> predicate)
    {

        LibraryManagementClassesDataContext db = new LibraryManagementClassesDataContext("");
        var accounts = from p in db.Accounts
                       where p.AccountNumber == 1
                       select p;

        //Where
        var results = Context.GetTable<T>().Where(predicate);
        return results;
    }

ここに画像の説明を入力

また、挿入機能があります。このシナリオで生成されたクエリを表示するにはどうすればよいですか?

    public virtual void InsertOnSubmit(T entity)
    {
        GetTable().InsertOnSubmit(entity);
    }
4

2 に答える 2

1

このホバー動作の欠如がジェネリックまたは何が原因であるかは 100% わかりませんが (提供したスクリーンショットでジェネリックを解決したようです)、いつでもDataContext.Log プロパティを使用して SQL をリーダーにキャプチャできます。 . 便利ではないことはわかっていますが、ホバーよりも読みやすいかもしれません。

于 2012-06-22T14:49:23.683 に答える
0

質問に記載されている問題はまだ存在します。

現在、出力ウィンドウに結果を表示するために次のクラスを使用しています。

context.Log = new OutputWindowWriter();

class OutputWindowWriter : System.IO.TextWriter
{
    public override void Write(char[] buffer, int index, int count)
    {
        System.Diagnostics.Debug.Write(new String(buffer, index, count));
    }

    public override void Write(string value)
    {
        System.Diagnostics.Debug.Write(value);
    }

    public override System.Text.Encoding Encoding
    {
        get { return System.Text.Encoding.Default; }
    }
}
于 2012-06-26T06:31:03.707 に答える