2009-09-23 33 views
1

我正在使用PredicateBuilder,這意味着我正在使用AsExpandable擴展方法。問題是我無法跟蹤我的SQL查詢,因爲當我嘗試將查詢轉換爲ObjectQuery以便我可以對其執行ObjectQuery.ToTraceString()調用時,會引發以下錯誤...如何在使用PredicateBuilder/AsExpandable時跟蹤linq查詢?

無法將'LinqKit.ExpandableQuery`1 [Genesis.Person]'類型的類型轉換爲類型'System.Data.Objects.ObjectQuery'。

任何想法?

回答

4

我會建議運行在LINQPad您的查詢轉儲(),並使用SQL選項卡查看生成的SQL。做到這一點,將LINQPad連接到實體框架上下文,按F4鍵入LinqKit.dll和LinqKit作爲命名空間導入。讓我知道如果您需要額外的指導如何做到這一點。

+0

好吧,明天我會回去工作,但它似乎是一個合理的方式來獲取SQL ... – Calanus 2009-10-04 17:02:44

+0

是的,這樣做的工作 - 謝謝。 – Calanus 2009-10-05 07:57:01

1

我不熟悉你的確切問題,但你不能在SQL服務器上使用(例如,假設MSSQL的分析器)運行跟蹤?

這仍然讓你看到執行的查詢,你可以限制它只是你的機器被記錄......