2013-05-27 98 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啊,好的。那麼在這種情況下,我應該使用空投影嗎?或者是否最好創建一個計數變量並返回? –