本文將介紹如何查看 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: }
執行結果如下:
【參考資料】