2013-01-16 58 views
1

一段代碼:查詢包含聲明變量時,爲什麼Entity Framework中的SQL查詢在Sql Server Profiler中不可見?

 using (var dc = new Database()) 
     { 
      var results = from a in dc.Article 
          where a.IdNeswpaper == 12 
          select new 
          { 
           a.Id,        
          }; 
      dataGrid1.ItemsSource = results; 
     } 

該查詢在SQL事件探查可見,但這樣的:

 int idNews = 12; 
     using (var dc = new Database()) 
     { 
      var results = from a in dc.Article 
          where a.IdNeswpaper == idNews 
          select new 
          { 
           a.Id,        
          }; 
      dataGrid1.ItemsSource = results; 
     } 

是不可見的,兩者都正確完成,並顯示數據。 爲什麼第二個查詢在Sql Profiler中不可見? 任何想法?

回答

1

我不想告訴你,但你必須看起來更好。查詢IS在那裏。也許你把它過濾掉了?

要點是 - 沒有辦法通過連接從數據庫中提取數據而不提交SQL文本。沒有。因此,要獲取數據,查詢必須在那裏。

+0

我知道,但查詢不是隻可見於第二個例子,它很奇怪 – Michal