2009-09-09 31 views

回答

3
+0

嗯,現在,我有一個名爲Posts的表和一個名爲Sites的表。 如果我從「db.Posts」中得到結果,它有一個ToTraceString()方法。然而,我想看看在更復雜的查詢中產生的SQL,在這種情況下:從站點在db.Sites order by site.Order降序,site.Title選擇新的SitePosts(){Site = site,Posts = site .Posts.OrderByDescending(p => p.PublicationTime)} 如何獲取該TraceString? – 2009-09-09 19:54:12

+0

將其轉換爲ObjectQuery。 – 2009-09-09 20:34:49

+0

我得到一個「無法轉換類型Models.Site到System.Data.Objects.ObjectQuery」轉換錯誤。 我這樣做: Site site =(我之前提到的查詢); ObjectQuery oq =(ObjectQuery)網站; 我在這裏錯過了什麼? 感謝您的幫助! – 2009-09-14 13:53:18

1

由於實體框架支持多個後端(而不是LINQ到SQL這是唯一的SQL Server),你不能真正得到實際的SQL發送到從EF後端服務器。

爲了真正瞭解發生了什麼,我建議在SQL Server後端啓動SQL Profiler,並查看發送了哪些查詢。

如果您不熟悉SQL Profiler工具,請參閱此article on Simple-Talk和可能的此video series成爲SQL事件探查器主控。

Marc