在Map定义中排序被认为是一种不好的做法吗?

时间:2012-01-30 01:47:21

标签: c# mapreduce ravendb

在我的应用程序中,有多个区域需要按相同字段排序的查询结果列表。

所以我已经定义了这样的静态索引:

public sealed class BlogPosts_OrderedByPublishDateDesc : AbstractIndexCreationTask<BlogPost>
{
    public BlogPosts_OrderedByPublishDateDesc()
    {
        Map = blogPosts => from blogPost in blogPosts
                           orderby blogPost.PublishedOn descending
                           select new
                           {
                            blogPost.PublishedOn
                           };
    }

}

这很有效,但在中排序某个地图定义听起来有些不好。

所以,到目前为止,我还没有找到任何支持或反对的证据。

推荐的方法是什么?

2 个答案:

答案 0 :(得分:4)

地图上的排序是一个noop,它对退回项目的实际顺序没有影响。 您需要在查询期间订购以实现此目的

答案 1 :(得分:0)

订单似乎是创建个人课程的一个相当微不足道的理由。

除非您在需要特定订单的类中添加其他类型的独特功能,否则我会说将其保留在类之外并允许调用者按需要对数据进行排序。