Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
Asignador automático en el controlador WebAPI

Tengo un método de controlador Car WebAPI como se muestra a continuación: tenga en cuenta que _carService.GetCarData devuelve una colección de objetos CarDataDTO

 [HttpGet] [Route("api/Car/Retrieve/{carManufacturerID}/{year}")] public IEnumerable<CarData> RetrieveTest(int carManufacturerID, int year) { //Mapper.Map<> var cars = _carService.GetCarData(carManufacturerID, year); //var returnData = Mapper.Map<CarData, CarDataDTO>(); return cars; }

CarData es un modelo WebAPI que he creado.

 public class CarData { public string Model { get; set; } public string Colour { get; set; } //other properties removed from brevity }

CarDataDTO es una clase que he creado que modela la tabla DB: recupero los datos a través de un proceso almacenado llamado con dapper.

 public class CarDataDTO { public int CarID { get; set; } public int CarManufacturerID { get; set; } public int Year { get; set; } public string Model { get; set; } public string Colour { get; set; } //other properties removed from brevity }

Si tengo un punto de interrupción en la línea var cars en mi controlador API, puedo ver que todo se devuelve como se esperaba y tengo una colección de objetos CarDTO. Sin embargo, no requiero que WebAPI devuelva CarDataID, CarID o Year, por lo que creé el modelo CarData API.

¿Cómo puedo usar fácilmente Automapper para mapear solo las propiedades que me preocupan?

¿Necesito configurar algo en mi clase WebApiConfig?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puede instalar el paquete nuget de AutoMapper desde: AutoMapper y luego declarar una clase como:

 public class AutoMapperConfig { public static void Initialize() { Mapper.Initialize((config) => { config.CreateMap<Source, Destination>().ReverseMap(); }); } }

Y luego llame a esto en su Global.asax así:

 public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { AutoMapperConfig.Initialize(); GlobalConfiguration.Configure(WebApiConfig.Register); } }

Y si desea ignorar ciertas propiedades, puede hacer algo como esto:

 Mapper.CreateMap<Source, Destination>() .ForMember(dest => dest.SomePropToIgnore, opt => opt.Ignore())

Y la forma en que usa esto para el mapeo es:

 DestinationType obj = Mapper.Map<SourceType, DestinationType>(sourceValueObject); List<DestinationType> listObj = Mapper.Map<List<SourceType>, List<DestinationType>>(enumarableSourceValueObject);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda