2016-05-17 10 views
0

ドメインモデルに私のviewmodelをマッピングするには、私の助けが必要です。AutoMapperの設定。 ViewModelからDomainModel

ビューモデル:

public class CampaignViewModel 
{ 
    public CampaignVM Campaign { get; set; } 
    public DiscountVM Discount { get; set; } 
} 

ドメインモデル:

public class Campaign : Entity 
{ 
    public Campaign(); 

    public Discount Discount { get; set; } 
    // other properties 
} 

そして、どのように私はautomapper経由でそれを扱うことができますか? 私は試しました:

var config = new MapperConfiguration(cfg => cfg.CreateMap<CampaignViewModel, Campaign>() 
      .ForMember(dest => dest, opt => opt.MapFrom(src => src.Campaign))); 

他のクラスのマッピング方法は?送信元と送信先のクラスの両方の性質が同じ名前を持っているので、

var config = new MapperConfiguration(cfg =>cfg.CreateMap()); 
var result=Mapper.Map(); 

var config = new MapperConfiguration(cfg =>cfg.CreateMap() 
.ForMember(dest => dest.Campaign, opt => opt.MapFrom(src => src.Campaign))) 
.ForMember(dest => dest.Discount , opt => opt.MapFrom(src => src.Discount))); 
var result=Mapper.Map(); 

または単にちょうどこの:DiscountVM =>ディスカウントのように...

答えて

1

はこれを試してみてください。したがって、それらは自動的にマップされます。異なる名前のプロパティのために(.ForMember)部分を書く必要があります。

関連する問題