2012-01-30 3 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

지도에서 정렬하는 것은 아무 효과가 없으므로 반환 된 항목의 실제 순서에는 아무런 영향이 없습니다. 쿼리를 수행하는 동안 쿼리를 수행해야합니다.

0

주문은 개별적인 클래스를 만드는 상당히 사소한 이유처럼 보입니다.

특정 주문을 요구하는 클래스에 다른 종류의 고유 기능을 추가하지 않는 한, 클래스에서 제외하고 호출자가 필요한 데이터를 주문할 수 있도록 허용합니다.

+0

공식적인 사용자 그룹에 따르면이 방법이 권장됩니다. "[정적 인덱스]는 처음 실행시 오래 될 가능성이 적습니다." http://groups.google.com/group/ravendb/browse_thread/thread/28023a7dd69e005f?fwc=1. Map 정의 내에서 * 정렬하는 것이 어떤 이유로 든 나쁜 것으로 간주되는지 여부를 알고 싶습니다. –

관련 문제