查看 LINQ to Entity 幫您執行了那些 T-SQL 敘述

本文將介紹如何查看 LINQ to Entity 幫您執行了那些 T-SQL 敘述。

上一篇筆者介紹利用 Entity Visualizer 來查看 LINQ to Entity 幫您執行了那些 T-SQL 敘述,本文將介紹另外一種內建的方法可以達到相同目的,說明如下:

在 System.Data.Objects 命名空間中的 ObjectQuery 類別提供 ToTraceString 方法可以用來回傳 LINQ to Entity 所要針對目的端所執行的命令,程式碼如下:

 

   1:  using (NorthwindEntities context = new NorthwindEntities())
   2:  {
   3:      string s = string.Empty;
   4:   
   5:      var query = context.Region.Where(o=>o.RegionID<100).OrderBy(p=>p.RegionID);
   6:      s = (query as ObjectQuery).ToTraceString();
   7:      Response.Write(s);
   8:   
   9:      Response.Write("<hr/>");
  10:   
  11:      var query1 = from p in context.Region
  12:                   where p.RegionID > 0
  13:                   select p;
  14:      s = (query1 as ObjectQuery).ToTraceString();
  15:      Response.Write(s);
  16:  }

執行結果如下:

 

image

 

【參考資料】