2011-01-11 4 views
11

나는 목록을 얻으려면 원하는 우선 순위에 따라 내 코드는 여기OrderByDescending 기준을 여러 개 관리하려면 어떻게해야합니까?

  1. TODATE
  2. RunDate

입니다 순서로 세 가지 특성

MyList 
    .OrderByDescending(p => p.ToDate) 
    .OrderByDescending(p => p.Number) 
    .OrderByDescending(p => p.RunDate) 
    .FirstOrDefault(); 

하지만 결과가 잘못되었습니다.

예를 들어, MyList가 e1, e2 및 e1.ToDate> e2.ToDate의 두 요소를 포함하면 결과는 e2입니다.

어느 속성이 우선되어야합니까? 최우선 순위 (ToDate) 또는 최저 순위 (RunDate)를 갖는 속성?

+0

이것은 Fluent Nhibernate와는 아무런 관련이 없습니다. 순전히 LINQ입니다. 태그를 편집했습니다. 제목을 편집 할 수있는 사람 (또는 충분한 담당자가있는 다른 사람)을 제안하십시오. –

답변

21

나는 당신이 정말로 원하는 의심 : 당신이 OrderBy 또는 OrderByDescending를 사용하여 기본 하나를 제공 한 후

MyList 
.OrderByDescending(p => p.ToDate) 
.ThenByDescending(p => p.Number) 
.ThenByDescending(p => p.RunDate) 
.FirstOrDefault(); 

ThenByThenByDescending

보조 순서 부를 지정하는 데 사용됩니다.

관련 문제