基本の「ユーザー」クラスを継承して、ロール固有のタイプを作成しました。
例えば...
public class Business : User{
public string BusinessName;
}
基本的な「UserModel」から始めて、それを継承してロール固有の機能を含めることで、View Models についても同様のことを行いました。
public class BusinessModel : UserModel{
[Required()]
public string BusinessName;
}
Automapper を使用して BusinessModel への変更をビジネス オブジェクトにマップし直すと、継承されたフィールドへの変更は含まれません。
//create map between model and business object
Mapper.CreateMap<BusinessModel, Business>();
//load the relevant business
var business = GetCurrentBusiness();
//map the values across
Mapper.Map<BusinessModel, Business>(model, business);
「ビジネス」自体のフィールドへの変更が存在します。ただし、 User から継承されたフィールドへの変更はそうではありません。
Automapper は継承された型をこのようにマップできないのでしょうか? または、何か不足していますか?