[C#] 엔티티 프레임 워크를 사용하는 “Order by Col1, Col2”

엔티티 프레임 워크를 사용하여 2 개의 열을 정렬해야합니다.

어떻게 된 거죠?

return _repository.GetSomething().OrderBy(x => x.Col1   .. Col2)?

SELECT * FROM Foo ORDER BY Col1, Col2



답변

시도해보십시오 OrderBy(x => x.Col1).ThenBy(x => x.Col2). 어쨌든 EF에만 국한되지 않는 LINQ 기능입니다.


답변

또 다른 방법:

qqq.OrderBy(x => new { x.Col1, x.Col2} )


답변

시험:

OrderBy(x => x.Col1).ThenBy(x => x.Col2)

내림차순으로 주문하려면 다음을 시도하십시오.

OrderByDescending (x => x.Col1).ThenByDescending (x => x.Col2)


답변

다음 정렬은 DB 수준에서 발생합니다. 반환 된 결과에 없습니다.

시험:

IQueryable<a>.OrderBy("col1 asc, col2 asc")

예 1 :

ctx.CateringOrders.OrderBy("Details.DeliveryDate asc, Details.DeliveryTime asc")

예 2 :

ctx.CateringOrders.OrderBy("{0} {1}, {2} {3}",
    "Details.DeliveryDate", "asc",
    "Details.DeliveryTime", "asc"
)

IQueryable<a>엔터티 쿼리는 어디에
있고,
"col1 asc"열 1이고 정렬 방향
"col2 asc"은 열 2이고 정렬 방향입니다.


답변

이것은 Telerik의 Grid 또는 다른 Telerik의 DataSource 구성 요소에서는 작동하지 않습니다. 사전 필터링 된 IQueryable 개체를 사용하지만 정렬 설정을 효과적으로 재정의하는 마지막 단계로 항상 자동으로 정렬됩니다.

따라야합니다 : 그리드에서 기본 정렬 지정


답변