2013-12-12 127 views
2

我正在尝试创建一个索引,使我可以按降序排列的顺序检索前n个项目。Ravendb:按日期降序排列索引

似乎没有选择按日期排序索引吗?

我需要能够使用带有Take(n)子句的索引进行查询以获取最后的n项目。

public class ConcernStateByDateIndex : AbstractIndexCreationTask<ConcernState> 
{ 
    public ConcernStateByDateIndex() 
    { 
     this.Map = concerns => from concern in concerns 
           select concern.EntryDate; 
     this.Sort(_ => _.EntryDate, SortOptions.?????) 
    } 
} 
+0

除了刚刚的那种,这synhershko下面回答,你的索引图应包含要索引值,而不仅仅是一个单一值的匿名对象。 –

回答

4

您从不在索引中排序,您在查询索引时使用查询对结果进行排序。索引中的Sort选项需要告诉RavenDB该字段是否是数字,以便查询可以工作。

在查询排序看起来是这样的:

session.Query<ConcernState>().OrderByDescending(x => x.EntryDate);