DTOクラスを用意しましょう:
public class UserDto {
public int Id { get;set; }
}
ビューモデル クラス (ベース mvc プロジェクト ライブラリ):
public abstract class UserViewModelBase {
public int Id { get;set; }
}
今、次のようにオートマッパーのマッピングを作成すると:
Mapper.CreateMap<UserDto, UserViewModelBase>();
メインの Web MVC プロジェクトでは、次のように UserViewModelBase の実装を作成しています。
public class UserViewModel: UserViewModelBase {
}
今私がこれを呼び出すとき:
Mapper.Map<UserDto, UserViewModel>()
次のようなエラーで失敗します。
タイプ マップ構成が欠落しているか、サポートされていないマッピングです。
UserDto -> UserViewModel
これは、UserDto と UserViewModel の間の直接マッピングを定義していないことが原因であると理解しています。Mapper.CreateMap<UserDto, UserViewModelBase>();
AutoMapper に、このマップを使用して、 から継承する目的の型として任意の型を受け入れる必要があることを伝える方法があるかどうかを知りたいですUserViewModelBase
。