2012-11-27 134 views
12

ERRORautomapper缺少类型映射配置或不支持的映射。

Missing type map configuration or unsupported mapping. 

Mapping types: 
Cities_C391BA93C06F35100522AFBFA8F6BF3823972C9E97D5A49783829A4E90A03F00 -> IEnumerable`1 
System.Data.Entity.DynamicProxies.Cities_C391BA93C06F35100522AFBFA8F6BF3823972C9E97D5A49783829A4E90A03F00 -> System.Collections.Generic.IEnumerable`1[[OsosPlus2.Core.DataAccess.Cities, OsosPlus2.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] 

Destination path: 
CustomerViewModel.Cities.Cities 

Source value: 
System.Data.Entity.DynamicProxies.Cities_C391BA93C06F35100522AFBFA8F6BF3823972C9E97D5A49783829A4E90A03F00 

操作方法:

public ActionResult _EditCustomer(int CustomerId) 
{ 
    Customers customer = entity.Customers.FirstOrDefault(x => x.sno == CustomerId); 
    CustomerViewModel customerViewModel = new CustomerViewModel(); 
    customerViewModel = AutoMapper.Mapper.Map<Customers, CustomerViewModel>(customer); 

    customerViewModel.Sectors = entity.Sectors; 
    customerViewModel.Cities = entity.Cities; 
    customerViewModel.PowerSuppliers = entity.PowerSuppliers; 

    return PartialView(customerViewModel); 
} 

当我取的实体客户,我得到上述错误。为什么只有在获取后才会出现此错误?

回答

23

它看起来像你想忽略你的映射中的城市,部门和PowerSuppliers。

Mapper.CreateMap<Customers, CustomerViewModel>() 
       .ForMember(c => c.Sectors, option => option.Ignore()) 
       .ForMember(c => c.Cities , option => option.Ignore()) 
       .ForMember(c => c.PowerSuppliers , option => option.Ignore()); 

我做了这个假设,因为你手动设置它们。当然你可以为这些映射创建映射,并自动映射它们。

+0

非常感谢... –

相关问题