2011-12-07 3 views
1

Entity Framework에는 표준 작업에 기본 제공되는 기능을 제공하는 연결된 리포지토리가 있습니다. 이러한 함수 중 하나는 일반화 된 Get (filter, orderby, includeList) 메서드입니다. 필터 및 includeList 사용하는 방법을 알고 있지만 orderby 매개 변수를 사용하는 방법을 알아 냈습니다. ORDERBY 매개 변수는 다음과 같이 주어진다 :리포지토리 OrderBy 사용 방법에 대한 예제가 필요합니다.

Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null 

및 평가는 다음과 같습니다

 IQueryable<TEntity> query = DbSet; 

    if (orderBy != null) { 
     return orderBy(query).ToList(); 
    } else { 
     return query.ToList(); 
    } 

어떤 힌트 또는 예제 나 감사를 시작하는 것입니다.

+0

이 "관련 저장소"는 무엇입니까? 제 3 자 도서관에서 가져 왔습니까? – Slauma

답변

2

어쩌면과 같이 :

Func<IQueryable<SomeEntity>, IOrderedQueryable<SomeEntity>> orderBy 
    = q => q.OrderBy(e => e.SomePropertyOfSomeEntity); 
+0

감사합니다. 문제에 대한 의견을 밝힙니다. – JimBoone

+0

@Slauma이 orderby 표현식을 동적으로 생성해야합니다. 너 어떻게 그걸 할 수 있니? –

+0

@bahadirarslan : 문자열로 주문할 필드가있는 경우 * Dynamic Linq * 옵션을 사용할 수 있습니다. http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq -part-1-using-the-linq-dynamic-query-library.aspx – Slauma

관련 문제