2013-05-27 54 views
1

我在玩RavenDb我有一个非常简单的类,它包含一个集合,我试图返回所有包含集合有超过1条记录的对象,似乎无法使其工作。在索引上嵌入RavenDb查询

注:我正在使用LinqPad的内存嵌入式文档存储,从RDBMS读取一些数据,并插入到内存中的存储(这个作品,如果我只是Query<Agency>().Take(100)我看到我的记录...

enter image description here

任何想法的?

下面的图片只是为了表明分贝确实包含我的数据...

enter image description here

回答

0

行,我也想通了,不能说我完全理解......但

PopulateRavenInMemory(); 
DatabaseCommands.PutIndex("MultipleAddresses", 
    new IndexDefinitionBuilder<Agency> 
{ 
    Map = agencies => from a in agencies 
        where a.Addresses.Count() > 1 
        select new {} 
}); 
Query<Agency>("MultipleAddresses").Customize(x => x.WaitForNonStaleResultsAsOfNow()).Dump(); 

我明白WaitForNonStaleResults打电话,这是有道理的,但我真的不明白为什么我的Map函数无法选择类,它似乎要求投影,我可以继续前进,但我讨厌不知道为什么会这样。

+1

因为它需要知道索引什么字段 –

+0

@AyendeRahien啊,好的。那么在这种情况下,我应该使用空投影吗?或者是否最好创建一个计数变量并返回? –