带有自定义字段名称的RavenDB查询索引

时间:2011-09-14 05:30:55

标签: c# indexing ravendb

我在RavenDB中收集了文档消息。 定义:

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

class Tag
{
    string Value;
}

我有索引:

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

这里我们有一个名为TagsValue的字段,它不是Message类的一部分,这就是我无法使用的原因

Session.Query<Message>(indexName).Where(m=>m.TagsValue==tagValue)

如何通过TagValue从.NET查询此索引?我应该使用Advanced.LuceneQuery吗?

1 个答案:

答案 0 :(得分:2)

因为你使用Linq,你需要创建一个具有该属性的类型来查询它,或者你可以使用Lucene API。

请注意,实际上您不需要使用静态索引进行查询,只需使用动态索引和纯linq即可。