Академический Документы
Профессиональный Документы
Культура Документы
Para ver como funciona AutoMapper vamos a partir de una aplicación Web con
ASP.NET MVC, sin embargo es posible usarlo en cualquier otro tipo de aplicación.
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 1/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
Julio Avellaneda
Microsoft MVP ASPNET | Telerik
Developer Expert
Blog
Ƈ
ƇŚŚƈ
ƇŚŚƈ
ƇŚŚƈ
ƇŚŚƈ
ƇŚŚƈ
ƇŚŚƈ
ƈ
Ƈ
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 2/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
ƇŚŚƈ
ƇŚŚƈ
ƇŚŚƈ
ƈ
Ahora, vamos a crear una sencilla clase que va a actuar como repositorio y va a
retornar un cliente (realmente un ClientViewModel) dado su id:
Ƈ
ʰſƀ
Ƈ
ſƀƇʰɨřʰɑ
ɑřʰɑɑř
ʰɑɏɒŜ
ɑřʰŜřʰɑɨɩɪɫɬɭɑƈ
ƈŚ
ſƀ
Ƈ
ŵŵ
ʰ
ƃɥƄŚ
ŵŵ
ŜŜſƀŚ
ŵŵ
ʰŜŜſ
ƀŚ
ŵŵ
Ś
ƈ
ƈ
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 3/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
Para casos más complejos que no cumplen la premisa básica del caso anterior,
AutoMapper tiene una característica conocida como perfiles, y allí podemos definir
un comportamiento más personalizado para los mapeos, para definir un perfil
tenemos tres sencillos pasos:
Entonces vamos a crear la clase CustomDto y realizamos los tres pasos anteriores,
como nombre del perfil (propiedad ProfileName) definimos CustomDto, y por el
momento vamos a dejar sin lógica el método Configure:
ś
Ƈ
ƇƇɑɑŚƈƈ
ſƀƇƈ
ƈ
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 4/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
nada):
ſƀ
Ƈ
Ŝſƀ
Ŝ ſʰʴŜřʰʴŜ ſ
ʰʴ
Ŝƀƀ
Ŝ ſʰʴŜřʰʴŜ ſ
ʰʴ
Ŝƀƀ
Ŝ ſʰʴŜřʰʴŜ ſ
ʰʴ
ŜƀƀŚ
ƈ
Ya que tenemos el perfil listo, ahora debemos llamarlo, y un buen lugar para
hacerlo es en el evento Application_Start del Global.asax:
ɏſƀ
Ƈ
ŜſƀŚ
Ŝ
ſ
Ŝ ƀŚ
ŜſŜƀŚ
ŜſŜƀŚ
ŜŜſ
ʰʴ
ŜſſƀƀƀŚ
ƈ
ſƀ
Ƈ
ŵŵ
ʰ
ƃɥƄŚ
ŵŵ
ʰŜŜſ
ƀŚ
ŵŵ
Ś
ƈ
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 5/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
Como podemos ver, la propiedad del ViewModel también tendrá el valor, así que
por alguna regla de negocio, cuando el cliente no tiene un valor en LastName se
debe mostrar el texto “-“, dicha regla de negocio la podriamos implementar en
nuestra capa de UI o validando el valor de la propiedad antes de retornar el objeto…
o aún mejor, en la definición del mapeo de AutoMapper, así que volvemos al
método Configure y hacemos uso de NullSubstitute:
ſƀ
Ƈ
Ŝſƀ
Ŝ ſʰʴŜřʰʴŜ ſ
ʰʴ
Ŝƀƀ
Ŝ ſʰʴŜřʰʴŜſɑŞɑƀƀ
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 6/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
Ŝ ſʰʴŜřʰʴŜ ſ
ʰʴ
ŜƀƀŚ
ƈ
Y probando de nuevo:
ʳʴ
ſƀ
Ƈ
ŵŵ
ʰŜŜʳʳʴř
ʳʴʴſ
ƀŚ
ŵŵ
Ś
ƈ
Y de nuevo probando:
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 7/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
Y por el momento vamos a dejar aquí, la idea del post era dar una rápida
introducción a AutoMapper y creo que ha sido así, en próximos post veremos otras
características de esta poderosa herramienta.
Descarga el ejemplo
Saludos.
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 8/9
5/3/2016 [C#] AutoMapper desde ceros Blog Julitogtu
2 Comentarios Julitogtu Blog
1 Acceder
Join the discussion…
Pablo Valor • hace 6 meses
Muy buen articulo! Felicitaciones!
△ ▽ • Responder • Compartir ›
TAMBIÉN EN JULITOGTU BLOG ¿QUÉ ES ESTO?
Implementando refresh_token en [ASPNET] Una nueva era de
ASPNET Web API Blog Julitogtu desarrolladores Web .Net.
2 comentarios • hace 4 meses 8 comentarios • hace 9 meses
Julito Avellaneda — Gracias por el Julito Avellaneda — Gracias Mario, si,
comentario Rodolfo, saludos hoy día se ven muchas aplicaciones muy
mal construidas, y el problema nunca ha
sido la tecnología :)
[ASP.NET MVC] Iniciando con las [Angularjs] Utilizando ngResource
plantillas ASP.NET Boilerplate. para consumir un servicio REST de
Un comentario • hace un año Web API.
8 comentarios • hace 4 meses
Hernan Demczuk — Que lástima que Julito Avellaneda — Maneras muchas
todavía no llegó para .NET Core viejo Juan, pero en este caso no me
gusta como lo haces, ese array luego no
será muy claro, adicionalmente me gusta
© 2016. All rights reserved. Built with Ghost and Uno Zen theme.
http://www.julitogtu.com/2014/02/03/cautomapperdesdeceros/ 9/9