Skip to main content
 首页 » 编程设计

c#之在 Map 定义中排序是否被认为是一种不好的做法

2024年02月23日29insus

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

所以我定义了这样一个静态索引:

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

这行得通,但是在 Map 定义的内排序听起来不是个好主意。

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

推荐的方法是什么?

请您参考如下方法:

在 map 上排序是一个空洞,它不会影响退回元素的实际顺序。 您需要在查询期间进行排序才能实现这一点