• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

288
Views
Pasar objetos a la asignación de AutoMapper

Estoy trabajando con AutoMapper y algunos de los valores de la entidad a la que se asigna son variables en mi método actual. He intentado buscarlo en Google pero fue en vano. ¿Puedo pasar un conjunto de pares de valores clave o un objeto o algo a mi asignación para que use esos valores?

Ejemplo de modificación posterior a la asignación

 //comment variable is a Comment class instance var imageComment = AutoMapper.Mapper.Map<Data.ImageComment>(comment); //I want to pass in imageId so I dont have to manually add it after the mapping imageComment.ImageId = imageId;
about 3 years ago · Santiago Trujillo
3 answers
Answer question

0

AutoMapper maneja este escenario de par clave-valor de manera inmediata.

 Mapper.CreateMap<Source, Dest>() .ForMember(d => d.Foo, opt => opt.ResolveUsing(res => res.Context.Options.Items["Foo"]));

Luego en tiempo de ejecución:

 Mapper.Map<Source, Dest>(src, opt => opt.Items["Foo"] = "Bar");

Un poco detallado para profundizar en los elementos de contexto, pero ahí lo tienes.

about 3 years ago · Santiago Trujillo Report

0

Automapper 9.0.0

A partir de la versión 8.0.0, se modificó la API de AutoMapper. Al hacerlo, ResolveUsing se consolidó con MapFrom . Eche un vistazo a la solicitud de extracción correspondiente para obtener más información.

Perfil

 public class CoreProfile : Profile { public CoreProfile() { CreateMap<Source, Destination>() .ForMember(d => d.Bar, opt => opt.MapFrom( (src, dst, _, context) => context.Options.Items["bar"] ) ); } }

Cartografía

 var destination = mapper.Map<Destination>( source,opt => { opt.Items["bar"] = "baz"; } );
about 3 years ago · Santiago Trujillo Report

0

Para Automapper 6.0.2:

Perfil:

 public class CoreProfile : Profile { public CoreProfile() { CreateMap<Source, Dest>() .ForMember(d => d.Foo, opt => opt.ResolveUsing( (src, dst, arg3, context) => context.Options.Items["Foo"] ) ); } }

Cartografía:

 var result = Mapper.Map<PlanResult>(aa, opt => { opt.Items["Foo"] = 2; opt.Items["OtherFoo"] = 1000; });
about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error