2011-12-15 143 views
0

下面是我正在描述的准系统类设置。Automapper:具有相同名称的类和属性不映射

public class List 
{ 
    public int Id {get;set;} 
    public RecipientCount RecipientCount {get;set;} 
    public RecipientCount SomeOtherName {get;set;} 
} 

public class RecipientCount 
{ 
    public int Total {get;set;} 
    public int Active {get;set;} 
} 

public class ListDto 
{ 
    public int id {get;set;} 
    public RecipientCountDto recipientCount {get;set;} 
    public RecipientCountDto someOtherName {get;set;} 
} 

public class RecipientCountDto 
{ 
    public int total {get;set;} 
    public int active {get;set;} 
} 

public class AutoMapperConfiguration 
{ 
    public void Init(AutoMapper.IConfiguration config) 
    { 
     config.CreateMap<RecipientCount,RecipientCountDto>(); 
    } 
} 

,如果我尝试使用这个它抛出一个:

The following property on Reachmail.Domain.Component.RecipientCountDto cannot 
    be mapped: 
    recipientCount 
    Add a custom mapping expression, ignore, add a custom resolver, or modify the 
    destination type Reachmail.Domain.Component.RecipientCount. 
    Context: 
    Mapping to property recipientCount of type Reachmail.Domain.Component.RecipientCountDto 
    from source type Reachmail.Domain.Component.RecipientCount 
    Mapping to type Reachmail.Web.UI.Controllers.ListDto from source type 
    Reachmail.Domain.Contacts.Lists.List 
    Exception of type 'AutoMapper.AutoMapperConfigurationException' was thrown. 

然而,如果我删除RecipientProviderDto.recipientProvider它工作正常。因此,它让我相信它的类名和属性是相同的,这是造成问题的事实。任何有关如何解决这个问题的见解,或者它的一个错误?

回答

0

尝试UpperLetter:

public class ListDto 
{ 
    public int Id {get;set;} 
    public RecipientCountDto RecipientCount {get;set;} 
    public RecipientCountDto SomeOtherName {get;set;} 
} 

public class RecipientCountDto 
{ 
    public int Total {get;set;} 
    public int Active {get;set;} 
} 

希望它能帮助。

相关问题