2011-09-14 8 views
2

RavenDBにドキュメントメッセージがあります。 定義:カスタムフィールド名を持つRavenDBクエリインデックス

class Message 
{ 
    string Content; 
    Tag[] Tags; 
} 

class Tag 
{ 
    string Value; 
} 

と私は、インデックスしている:ここでは、私が

Session.Query<Message>(indexName).Where(m=>m.TagsValue==tagValue) 
を使用することができない理由です、クラスのメッセージの一部ではない名前TagsValueを持つフィールドを

from doc in docs.Messages 
from docTagsItem in (IEnumerable<dynamic>)doc.Tags 
select new { Content = doc.Content, TagsValue = docTagsItem.Value } 

を持っています

このインデックスを.NETからTagValueでどのようにクエリする必要がありますか?私はAdvanced.LuceneQueryを使うべきですか?

答えて

2

Linqを使用するため、そのプロパティを持つ型を作成して照会するか、Lucene APIを使用する必要があります。

実際に静的インデックスを使用するようなクエリを作成する必要はないことに注意してください。動的インデックスと純粋なlinqだけを使用して行うことができます。

関連する問題