2016-03-31 3 views
0

LINQでOrderByを使用しようとしています。いくつかのフィールドを変更しましたが、ドキュメントがコレクションに存在する間は常にnull(行なし)を返します。 は、ここでは、(ここで私は、文字列を想定)の順に使用するプロパティの種類の範囲のインデックスを持つインデックスポリシーを作成する必要が私の簡単なquery-LINQで使用されるOrderByはDOcumentDbに行を返しません。

 var rests = _client.CreateDocumentQuery<Restraunt>(_collectionUri) 
         .OrderBy(x => x.RestName); 

答えて

0

です。

デフォルトのポリシーを使用すると、順序は返されません。

あなたはそのようなソート政策が必要になります。

restrauntsCollection.IndexingPolicy.IncludedPaths.Add(
    new IncludedPath { 
     Path = "/RestName/?", 
     Indexes = new Collection<Index> { 
      new RangeIndex(DataType.String) { Precision = -1 } } 
     }); 

詳細については、このページを参照してください:https://azure.microsoft.com/en-us/documentation/articles/documentdb-orderby/

希望、これは助けのための

+0

感謝を助け、私は今、それは動作しますが、上記のコードを追加しましたすべての整数ではありますが、まだ文字列にはありません。それは数値のドキュメントを返しますが、私は文字列フィールドを試しても何も返しません。 –

+0

OK、多分あなたはコードを使用するだけでなく、私のプロジェクトを知らないので、コードを適応させる必要がありますが、実際にあなたのソリューションはインデックスポリシーを正しく設定することだと思います:) –

+0

助けてくれてありがとうございます。既定で実装されている現在のインデックスポリシーを確認する方法はありますか。私はどのようなパスが含まれていないコンソールで見ることができるように意味ですか? –

関連する問題