2013-10-28 4 views
0

다음 쿼리 순서는 어떤 이유로 든 순서를 지정하지 않습니다. 이 일을 제대로하고 있습니까? 선택 만 수행하며 주문은 전혀 적용되지 않습니다.엔티티 프레임 워크로 동적 순서

var orders = (from order in db.GridExampleTable  
         select order); 
switch (sortBy) 
     { 
      default: orders.OrderBy(o => o.UnitPrice); 
       break; 
      case "CustomerName": 
       if (sortDir == "asc") 
       orders.OrderBy(o => o.CustomerName); 
       else 
        orders.OrderByDescending(o => o.CustomerName); 
        break; 

     } 
+2

(팁 :이 * 본질적 초기 시퀀스/객체 수정에는 *를 IEnumerable이나 된 IQueryable 방법은 없습니다 - 이러한 모든 방법의 * 반환 값 *을 사용합니다.) – user2864740

답변

1

.OrderBy는 IOrderedEnumerable을 반환하고 쿼리에서 반환 된 원래의 열거 형을 정렬하지 않습니다.

+0

가 감사를 많이, 그래서 이것을 정렬 할 수 있습니까? 이 방법이 가능하지 않습니까? –

3

귀하는 주문 결과를 수집하지 않습니다. 당신은 필요

orders = orders.OrderBy(o=>o.UnitPrice); 

+0

완벽하게 고마워요! 그것은 효과가있다! –

+0

@ GregCzechowicz 당신은 비슷한 문제를 가지고있는 다른 사람들이 올바른 도움을 얻을 수 있도록 돕기 위해 다음 중 하나를 답으로 표시해야합니다. :) – Excommunicated

관련 문제