2012-02-26 8 views
3

RacoonBlogのソースコードを見て、RavenDBでドキュメントに含まれるコレクションをクエリする方法を見つけようとしていました。私はインデックスとMap/Reduceについて読んだが、私の答えは見つけられなかった。このRavenDB linqクエリはどのように動作するのですか

PostsControllerには、文字列パラメータをとり、次のlinqクエリを含むTagというActionResultがあります。

Where拡張メソッドがTagsAsSlugsを呼び出し、Anyを実行すると、TagsAsSlugsはこのようになります。 TagsAsSlugsプロパティはタグのコレクションをループするので

public IEnumerable<string> TagsAsSlugs 
    { 
     get 
     { 
      if (Tags == null) 
       yield break; 
      foreach (var tag in Tags) 
      { 
       yield return SlugConverter.TitleToSlug(tag); 
      } 
     } 
    } 

だから問合せは、各ポストは、そのタグのコレクションが繰り返し処理持つことができるように、すべての記事が返されることを要求していますか?

Oren's blogは非常に速いので、これは当てはまりません。

答えて

1

ジャクソン、 いいえ、それは動作しません。私たちはインデックス作成中に作業をしています(実際には、保存時にTagsAsSlugsが計算されます)、次にTagsAsSlugsをインデックスに保存します。 インデックスに存在するタグを検索します。

つまり、クライアント側ではなく、計算はしません。

関連する問題