当我尝试映射我的EF实体并尝试将其转换为DTO时,我正在使用AutoMapper v6.1.1和EntityFramework 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动态代理。
谢谢。
答案 0 :(得分:0)
通常,您会对单个对象而不是列表执行此类映射。尝试类似:
var myDTOs = entities.Select(e => Mapper.Map<MyEntity, MyDTO>(e)).ToList();