2012-03-28 140 views
0

如果我有一個類,美孚,看起來像這樣一類的新實例...映射一個屬性,使用AutoMapper

class Foo 
{ 
    public string TelephoneNumber1; 
    public string TelephoneNumber2; 
    public string TelephoneNumber3; 
    public string TelephoneNumber4; 
} 

是有可能使用AutoMapper映射到這個類...

class Bar 
{ 
    public ContactInfo[] Contacts; 
} 

其中的ContactInfo是...

class ContactInfo 
{ 
    public string TelephoneNumber; 
} 

如果是這樣,怎麼樣?

回答

0

不完全。你可以映射一個Foo用繩子[電話號碼]:

public class Foo 
{ 
    public string[] TelephoneNumbers { get; set; } 
} 

Mapper.CreateMap<Foo, Bar>() 
    .ForMember(dest => dest.Contacts, opt => opt.MapFrom(src => src.TelephoneNumbers)); 

Mapper.CreateMap<string, ContactInfo>() 
    .ConvertUsing(value => new ContactInfo { TelephoneNumber = value }); 

然後,你可以映射像這樣:

Bar bar = Mapper.Map<Foo, Bar>(foo);