私は EF 5.0 Code First API を使用しており、動的な OrderBy 式を作成する機能を追加する必要があります (UI には、ユーザーが複数の順序付け基準を選択できるフィルター パネルがあります (たとえば、上位 20 の顧客を選択し、LastName ASC で並べ替え、次に生年月日 DESC)。
ObjectContext API はOrderBy("it.PropertyName")
、コンパイル時の検証が欠落しているにもかかわらず、見栄えの良いメソッドを公開します。ただし、DbContext API には類似物が見つかりません。
問題をグーグルで検索すると、次のようなアドバイスが見つかりました。
((IObjectContextAdapter)myContextInstance).ObjectContext.CreateQuery<MyEntity>("<ESQL Query>")
ただし、LINQ クエリをまったくあきらめたくありません。このようなものを持つ方法はありますか (ObjectContext を使用して、ESQL と LINQ を混在させることができます):
var customers = myDbContext.Customers.OrderBy("it.LastName desc").Where(c => c.Age < 18)