フォームにオブジェクト (POCO クラス) を表示する必要があります。
私のコントローラーでは、オブジェクト リポジトリからオブジェクト データを取得します。
しかし、このフォームでは、countryid ではなく国名、割り当てられた人数 (1:N 関係から取得するため)、編集の履歴 (取得するため) など、オブジェクトに関するいくつかの追加データも表示する必要があります。さらに別のテーブルから)およびビット「CanBeCancelled」。
問題は、このロジックをどこに置くべきかということです。
私はこれらの代替案を思いつきました:
- リポジトリ自体: この正確なビューモデルを返す追加の関数を作成します
- クラスをビューモデルに変換する変換サービス (データを取得する場所を知っています)
- コントローラー:ビュー(モデル)に表示するデータを知っているため、さまざまなリポジトリからすべてのデータを取得する必要があります
このロジックを配置する良い方法は何ですか (「このロジック」とは、人の数がリポジトリ A でフェッチされ、履歴がリポジトリ B でフェッチされ、国名が CountryRepository とブール値でフェッチされることを知るロジックを意味します'CanBeCancelled' は StateEngine サービスによって取得されます) ?