Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

163
Views
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?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

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);
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!