在很多網站/博客上,我注意到想要解釋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. 如何將此查詢轉換爲linq
- 2. 如何將sql查詢轉換爲linq
- 3. 如何將此查詢轉換爲LINQ?
- 4. 如何將LINQ查詢轉換爲SQL?
- 5. 將SQL查詢轉換爲LINQ查詢
- 6. 將SQL查詢轉換爲LINQ查詢
- 7. 將SQL查詢轉換爲Linq查詢?
- 8. 如何將此嵌套集SQL查詢轉換爲LINQ查詢?
- 9. 如何將sql查詢轉換爲linq查詢
- 10. 如何將LINQ查詢轉換爲動態查詢?
- 11. 如何將linq查詢轉換爲非查詢表達式?
- 12. 如何將MVC sql查詢轉換爲Linq查詢?
- 13. 如何從SQL查詢轉換爲LINQ
- 14. 如何SQL轉換爲LINQ此查詢
- 15. linq查詢,將sql查詢轉換爲linq for VB.net
- 16. 將LINQ查詢語法轉換爲Lambda
- 17. 將字符串轉換爲LINQ查詢
- 18. 將SQL查詢轉換爲LINQ
- 19. 將SQL查詢轉換爲LINQ
- 20. 將字符串轉換爲linq查詢
- 21. 將TSQL查詢轉換爲LINQ
- 22. 將多個LINQ查詢轉換爲1?
- 23. 將休眠linq查詢轉換爲HQL
- 24. 將SQL查詢轉換爲LINQ到SQL
- 25. 將Linq查詢從vb.net轉換爲c#
- 26. 將Linq查詢轉換爲cumstom類型
- 27. 將for循環轉換爲linq查詢
- 28. C#將SQL查詢轉換爲LINQ
- 29. 將字符串轉換爲linq查詢
- 30. 將SQL查詢轉換爲LINQ
不是一個直接的答案,但你應該看看[EFProf](http://efprof.com/)。是的,這是一個商業工具,但人很棒。 (也有自由的方式來完成它,比如SQL Profiler) – vcsjones 2011-12-19 15:20:09
這正是我一直在尋找的!謝謝,它完美的工作,我很滿意30天的試用:) – user1086396 2011-12-19 16:57:46