現在、ViewModel を使用して、ビューを実際のモデル構造から分離しています。
たとえば、ユーザー永続エンティティと、ユーザーが自分で変更できるすべての情報を含む MyProfile ViewModel があります。User から MyProfile への変換には、Automapper を使用しています。
ユーザーが自分の (変更された) 情報を投稿した後、これらを保存する必要があります。しかし、ViewModel の情報は完全ではなく、AutoMapper が ViewModel から User 永続エンティティを作成すると、重要な情報が失われます。
特に非表示のフォーム要素では、この情報をビュー レイヤーに公開したくありません。
したがって、ViewModel を永続エンティティにマージする方法が必要です。AutoMapper でそれを行うことはできますか、それとも手動で行う必要がありますか?
例:
私の User クラスには、ID、Firstname、Lastname、Username、および Password が含まれています。ユーザーは、自分のプロファイルで自分の名と姓のみを編集する必要があります。したがって、私の ProfileViewModel には ID、Firstname、Lastname が含まれています。フォームから情報をポストバックした後、Automapper は転送された ProfileViewModel から User オブジェクトを作成し、このオブジェクトには ID、Firstname、Lastname のみが設定されます。このエンティティをリポジトリにフィードするときに、ユーザー名とパスワードの情報を失いました。