在很多網站/博客上,我注意到想要解釋linq機制的人編寫Linq Queries併爲其提供SQL翻譯。我如何爲自己的查詢獲得翻譯? 我在VS2010中使用EF .Net 4.0。有沒有一個地方(財產或甚至一些第三方工具),我可以看到他們被翻譯成什麼?如何知道EF將Linq查詢轉換爲什麼?
回答
最簡單的方法是使用SQL事件探查器。在調試時我發現這是一個真正的上帝派。
謝謝,這是我一直在尋找,但我只有MSSQL的Express版本,所以我將不得不玩一些更高級的版本安裝程序腳本來獲取分析器,所以我現在只需要通過,因爲我很匆忙。 – user1086396 2011-12-19 16:56:54
可以使用ObjectQuery.ToTraceString方法:
var query = ...
string sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString();
但是,這種方法的一些不足之處是,它只會顯示的查詢,而不是更新/插入/刪除。而且,它不會顯示使用的參數。
如果您需要儘可能詳細的查詢,請使用SQL Server Profiler作爲Neil suggested。
Julie Lerman在MSDN上有不同的選項:Profiling Database Activity in the Entity Framework。她提到:
- ObjectQuery.ToTraceString方法
- 的Visual Studio 2010旗艦版的智能跟蹤
- EFTracingProvider
是的,這是非常有限的,不允許翻譯我想要的很多查詢,謝謝:) – user1086396 2011-12-19 16:55:34
您可以使用LinqPad,你可以查詢你的實體模型,並查看生成的SQL。
- 1. 如何將Sql查詢轉換爲EF
- 2. EF Linq無法將sql查詢轉換爲正確的linq
- 3. 如何將LINQ查詢轉換爲SQL?
- 4. 如何將sql查詢轉換爲linq
- 5. 如何將此查詢轉換爲Linq?
- 6. 如何將此查詢轉換爲linq
- 7. 如何將SQL查詢轉換爲LINQ?
- 8. 如何將此查詢轉換爲LINQ?
- 9. 將查詢轉換爲LINQ
- 10. 將SQL查詢轉換爲LINQ查詢
- 11. 將sql查詢轉換爲linq查詢
- 12. 將SQL查詢轉換爲LINQ查詢
- 13. 將SQL查詢轉換爲linq查詢
- 14. 將SQL查詢轉換爲Linq查詢?
- 15. 如何將此SQL查詢轉換爲LINQ to Entities查詢?
- 16. 如何將SQL查詢與GROUP BY轉換爲LINQ查詢
- 17. 如何將sql查詢轉換爲linq查詢
- 18. 如何將linq查詢轉換爲非查詢表達式?
- 19. 如何將此嵌套集SQL查詢轉換爲LINQ查詢?
- 20. 如何將SQL查詢轉換爲LINQ to Entities查詢?
- 21. 如何將LINQ查詢轉換爲動態查詢?
- 22. 如何將MVC sql查詢轉換爲Linq查詢?
- 23. 如何從SQL查詢轉換爲LINQ
- 24. 如何SQL轉換爲LINQ此查詢
- 25. Linq查詢不知道如何實現
- 26. linq查詢,將sql查詢轉換爲linq for VB.net
- 27. 將SQL轉換爲Linq查詢
- 28. 將字典轉換爲LINQ查詢
- 29. 將SQL查詢轉換爲LINQ
- 30. 將此查詢轉換爲Linq至SQL
不是一個直接的答案,但你應該看看[EFProf](http://efprof.com/)。是的,這是一個商業工具,但人很棒。 (也有自由的方式來完成它,比如SQL Profiler) – vcsjones 2011-12-19 15:20:09
這正是我一直在尋找的!謝謝,它完美的工作,我很滿意30天的試用:) – user1086396 2011-12-19 16:57:46