1

私は 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)
4

1 に答える 1

0

このようなもの?ESQLとLINQの混合についてはよくわかりませんが、最後のクエリは完全にLINQから実行できます。

var customers = myDbContext.Customers.OrderByDescending(a => a.LastName).ThenBy(c => c.BirthDate).Where(b => b.Age < 18);

于 2013-01-25T23:15:35.283 に答える