1
私はこれに似た、ネストされたビューモデルを持っている:Automapperはネストされたモデルからフラットなモデルへのどのように機能しますか?
public class EmployeeViewModel
{
//...
public string EmployeeFirstName { get; set; }
public string EmployeeLastName { get; set; }
public AddressViewModel{ get; set; }
}
AddressViewModelは次のようになります。
public class Employee
{
public string EmployeeFirstName { get; set; }
public string EmployeeLastName { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
I:
はpublic class AddressViewModel
{
public string Street {get; set;}
public string City {get; set;}
public string State {get; set;}
public string Zip {get; set;}
}
次に、そのような従業員のドメインオブジェクトがありますEmployeeViewModelをEmployeeドメインオブジェクトにマップしようとしています。これは私が思い付いたものです、それは動作しますが、これを行うための簡単な方法がある場合、私は思っていた:
Mapper.CreateMap<EmployeeViewModel, Employee>().ForMember(destination => destination.Street, opt => opt.MapFrom(src => src.AddressViewModel.Street))
.ForMember(destination => destination.City, opt => opt.MapFrom(src => src.AddressViewModel.City))
.ForMember(destination => destination.State, opt => opt.MapFrom(src => src.AddressViewModel.State))
.ForMember(destination => destination.Zip, opt => opt.MapFrom(src => src.AddressViewModel.Zip));
あなたが見ることができるように、従業員のドメインオブジェクトとAddressViewModelでプロパティ名があります同じ。だから、これを行う簡単な方法があるように思えます。
おかげ
これは答えとしてマークする必要があります。ぴったり。私はそれがどのように働いているのか分かりませんでしたし、私も同じような問題を解決しました。 – julealgon