我們正在使用實體框架6.0來開發我們的新應用程序。我們所有的實體查詢都是從DAL層生成的。對於部署到生產環境中的當前應用程序,我們使用SQL監視工具來跟蹤SQL查詢的性能。實體框架SQL事件探查器 - 如何追溯到生成SQL的代碼
我的關注點是如何追蹤生成SQL的DAL類,以便我可以解決實體查詢的性能問題。我從工具中得到的全部是由實體框架生成的SQL查詢。
其他人如何追蹤生產中的SQL查詢問題?我知道我可以使用Glimpse,但是如果只有原始SQL,那麼如何跟蹤生成SQL的實體框架查詢?我嘗試使用謂詞構建器來添加一個dummy where子句,以查看它是否會顯示在SQL中,但它被忽略。像
predicate = predicate.Or(u => "methodName" == "methodName");
感謝您的幫助。
謝謝。但我真的很想找到一種方法來追蹤從源代碼生成SQL的位置。我唯一需要的是SQL查詢的性能配置文件。當我們發現需要很長時間的查詢時,我們需要找出生成sql的實體查詢。當他們發現性能不佳的查詢時,我想知道其他人在做什麼。 – Mark
我認爲很難從SQL中反轉生成實體查詢以匹配它們,因爲不會有一對一的映射。例如。字符串比較可以在生成相同SQL的實體查詢中以多種方式完成。我想說大多數人會在代碼和SQL中使用分析器,因爲慢速運行的查詢也會顯示爲慢速運行的方法。 –
謝謝喬希。好像我將不得不花時間研究可以在生產環境中運行的源代碼分析器。 – Mark