2012-01-30 50 views
1

在我的應用程序中,有多個區域需要按同一字段排序的查詢結果列表。在被認爲是不好的做法的地圖定義中排序?

所以我定義了一個靜態指標是這樣的:

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

}

這工作,但排序中的地圖定義在某種程度上聽起來像一個壞主意。

所以,我還沒有找到任何證據支持或反對。

什麼是推薦的方法?

回答

4

在地圖上排序是一個noop,它對返回項目的實際順序沒有影響。 您需要在查詢期間訂購以實現此目的

0

訂單似乎是一個相當平凡的理由來創建一個單獨的類。

除非您需要特定順序的類添加一些其他類型的獨特功能,否則我會說它離開課程,並允許調用方按需要訂購數據。

+0

根據官方用戶組,這是推薦的方法:「[靜態索引]不太可能在第一次運行時失效」。 http://groups.google.com/group/ravendb/browse_thread/thread/28023a7dd69e005f?fwc=1。我想知道在一個Map定義中排序*是否由於任何原因被認爲是不好的? – 2012-01-30 02:02:36

相關問題