私は次のアーキテクチャを持っています:
DAL (NHibernate) -> BLL -> WCF (http) -> Clients
クライアントはドメインモデルについて何も知りません。WCFは、DTOオブジェクトを使用してクライアントと通信します。
クライアントの1つは、グリッドがほとんどないWebサイト(ASP.NET MVC)です。このグリッドの並べ替えを実装する必要があります。クライアントは要求されたデータの一部(ページング)のみを受信するため、並べ替えはサービス側で実装する必要があります。
これを行うための最良の方法は何ですか?今、私には良くないように思われる2つの方法があります。
- 各エンティティのプロパティごとに、サービス契約で個別の並べ替え方法を作成します(私の場合は36)
- 大量のリフレクションを使用して一般的なソートメソッドを作成し、クライアントからマジックストリング(プロパティの名前、方向)を受け取ります。
助けてくれてありがとう。