2012-03-28 113 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);