带有实体框架的AutoMapper

时间:2017-10-24 00:08:27

标签: entity-framework automapper

当我尝试映射我的EF实体并尝试将其转换为DTO时,我正在使用AutoMapper v6.1.1EntityFramework v6.1.3我收到以下错误:

AutoMapperMappingException: Missing type map configuration or unsupported mapping.

类似的问题here但没有帮助我。这与EF动态代理有不同的类型。像这样:

System.Data.Entity.DynamicProxies.Gender_3419AAE86B58120AA2983DA212CFFEC4E42296DA14DE0836B3E25D7C6252EF18

CODE:

Mapper.Initialize(c => c.CreateMap<MyEntity, MyDTO>());      


using (var context = new DbContext())
{
        var entities= context.MyTable.GetAll().ToList();
        var myDTOs = Mapper.Map<List<MyEntity>, List<MyDTO>>(entities); // <---error here
} 

有人可以帮我解决如何使用AutoMapper处理Entity Framework动态代理。

谢谢。

1 个答案:

答案 0 :(得分:0)

通常,您会对单个对象而不是列表执行此类映射。尝试类似:

var myDTOs = entities.Select(e => Mapper.Map<MyEntity, MyDTO>(e)).ToList();