Tengo un objeto Foo gen'd con EF, tiene una propiedad de navegación de Bar que es uno para muchos, pero debería haber sido uno a uno. De todos modos, cuando solicito un Foo I también me gusta obtener el primer y único elemento de la colección de Bar y asignarlos a un Biz Dto aplanado, ¿cómo voy a hacer eso?Cómo asignar el primer elemento de una colección con AutoMapper
var result = (from c in ctx.Foo
where c.Bar.Any(cs => cs.LOGINNAME == username && cs.PASSWORD == password)
select c).First();
Luego, en mi configuración de AutoMapper crearía un mapa que se veía como ????
Mapper.CreateMap<Foo, Biz>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.CLIENTID))
.ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Bar.FirstOrDefault???))
Gracias, Stephen
Las llamadas a CreateMap se ven correctas. ¿No están trabajando para ti? – PatrickSteele
@PatrickSteele ¿Estás seguro de que esto está permitido? opt.MapFrom (src => src.Bar.FirstOrDefault ???) –
Obviamente, debe limpiar la sintaxis, pero sí, puede definir una asignación personalizada por campo: opt.MapFrom (s => s.Bar.FirstOrDefault()); – PatrickSteele