Telerik ORMを使用してドメインモデルを生成し、DALと呼ばれるクラスライブラリにこれらを配置しました。次に、MVC4WebアプリケーションであるUIプロジェクトがあります。これには、リポジトリとモデルがあります。ここでのモデルは、特にビューにデータを表示するためのビューモデルです。
今私の質問は次のとおりです。
- リポジトリはビューモデルを直接返す必要がありますか?
- ビューモデルをエンティティに変換する必要がありますか?
- オートマッパーを使用する際のオーバーヘッドは何ですか?どこで使うべきですか?
automapperを使用してリポジトリ内のビューモデルに変換しない場合、オブジェクトの各部分にデータを取り込むためにdbへの異なる呼び出しがある可能性があります。ページのビューモデルには、連絡先のリストと選択された連絡先が含まれる場合があります。選択した連絡先にはリポジトリへの1つの呼び出しが入力され、連絡先のリストには別の呼び出しが入力されます。また、マッパーがリポジトリレベルにある場合、「名前とID」のみに関心がある場合は、性別などの「余分なフィールド」をすべて削除する方がよいのではないでしょうか。
ビューモデルはUIに固有であり、データレイヤーに関与するべきではないため、リポジトリはビューモデルを返さないようにする必要があると聞きました。これは本当ですか?