2011-12-07 10 views
1

Entity Frameworkには、標準操作用の組み込み関数を提供する関連するリポジトリがあります。これらの関数の1つは、一般化された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

この "関連するリポジトリ" とは何ですか?あなたはサードパーティの図書館からこれを持っていますか? – 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

関連する問題