2012-06-22 55 views
0

我有SqlServerQueryVisualizer。當我將鼠標懸停在「accounts」變量上時,我可以看到SQL。但是,當我將鼠標懸停在「結果」變量上時,它不顯示SQL查詢。如何在下面的代碼中查看「results」變量的SQL查詢?Sql Server Query Visualizer - 看不到生成的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; 
    } 

enter image description here

另外,我有一個插入功能。如何查看此場景的生成查詢?

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

回答

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; } 
    } 
} 
1

不是100%肯定,如果這種缺乏懸停工作是由仿製藥或者是什麼引起的(它似乎已經解決了你給的截圖通用),但你總是可以use the DataContext.Log property捕捉到SQL來一位讀者。我知道這並不方便,但它可能比在懸停中更具可讀性。