2016-12-07 4 views
3

linq文で生成されたドキュメントDBのSQLクエリ(文字列内)がサーバーに送信される前に、どのように表示されますか?documentdb Linqプロバイダが生成したクエリをどのようにトレースできますか?

_documentClient.CreateDocumentQuery<MyType>(
         UriFactory.CreateDocumentCollectionUri(DatabaseName, 
          CollectionName)).Where(....).SelectMany(...) 

私はこれをトレース目的で使用します。

+0

次のリンクは、そうする方法を示していますhttp://stackoverflow.com/questions/2025712/extract-sql-query-from-linq-expressions –

+0

私の質問はazure documentdbについてです、投稿したリンクの何かを偵察しても関係はありますか? –

答えて

3

DocumentDBクエリでToString()を呼び出して、ワイヤを介して送信されたLINQ式のSQL変換を取得できます。

string sql = client.CreateDocumentQuery<MyType>(collectionUri).Where(t => t.Name = "x").ToString(); 
// sql is somthing like SELECT * FROM c WHERE c["Name"] = "x" 
1

Fiddlerを使用して、送信後にリクエストのJSONを表示することができます。

ビューここでは例:

CosmosDB\DocumentDB Generated SQL Query

+0

これを追加していただきありがとうございます、非常に貴重!ありがとう! –

関連する問題