私はこれを実現するために苦労しています。私はEFの声明を列に入れて注文することを望みます。私の元の文は、このでした:エンティティフレームワークとステートメントによる動的順序
var Query = from P in DbContext.People
where P.BusinessUnits.Any(BU =>BU.BusinessUnitID == businessUnitId)
orderby P.LastName
select P;
そして、私は次のようにこれを変更:
var Query = from P in DbContext.People
where P.BusinessUnits.Any(BU =>BU.BusinessUnitID == businessUnitId)
orderby sortField
select P;
sortField
は、我々は上にソートしたい列であり、すなわちLastName
文字列です。しかし、それは動作するようには見えず、ソートも行われず、出力されたSQL文字列は完全に間違っています。誰もが前にこの仕事を得た?あなたは次のタイプを使用してメソッドに式を渡してみてください
優秀な答えは、この特定のケースでは、これは、より良い解決策だ、私はこれを使用しますので、感謝を。 – eyeballpaul
ここに "asc"と "desc"節を追加する方法はありますか? – eyeballpaul
また、なぜこれは文字列のプロパティで整数ではなく動作しますか?プロパティの1つがInt32で、この順番でソートしようとするとエラーが発生します: "{" 'System.Int32'型を 'System.Object'型にキャストできません。 LINQ to Entitiesは、エンティティデータモデルのプリミティブ型のキャストのみサポートしています。 "}" – eyeballpaul