2016-05-17 64 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))); 

但是如何映射其他類呢?像DiscountVM =>折扣...

回答

1

試試這個:

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(); 

或只是簡單地這樣:

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

,因爲源和目標兩個類的屬性具有相同的名稱。因此,它們將被自動映射。您只需爲具有不同名稱的屬性編寫(.ForMember)部分。

相關問題