El título lo explica todo, es lo último en lo que intento trabajar en nuestro proyecto. Estamos estructurados con una biblioteca de servicios que contiene una función como tal.ASP.Net MVC ¿Dónde se convierte de Entidades a Modelos de Vista?
/// <summary>
/// Returns a single category based on the specified ID.
/// </summary>
public Category GetCategory(int CategoryID)
{
var RetVal = _session.Single<Category>(x => x.ID == CategoryID);
return RetVal;
}
Ahora categoría es una Entidad (Estamos utilizando Entity Framework) que necesitamos para convertir eso a un CategoryViewModel.
Ahora, ¿cómo las personas estructurarían esto? ¿Se aseguraría de que la función de servicio devuelva CategoryViewModel? ¿Hace que el controlador extraiga los datos del servicio y luego llama a otra función para que coincida con un modelo de vista?
¡Solución muy elegante +1 para eso! Desconfío de AutoMapper por el uso de la reflexión. Si el sitio recibía 3 solicitudes por segundo, ¿hay algo de qué preocuparse AutoMapper? – LiamB
Jimmy Bogard hizo algunas optimizaciones excelentes que mejoraron el rendimiento. Escribió una publicación en el blog: http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/08/04/analyzing-automapper-performance.aspx (actualmente hay un problema al abrir su blog, por lo que también puede probar el versión en caché: http://webcache.googleusercontent.com/search?q=cache:y1UTqDky3wcJ:www.lostechies.com/blogs/jimmy_bogard/archive/2009/08/04/analyzing-automapper-performance.aspx+automapper+reflection + performance & cd = 1 & hl = en & ct = clnk) Personalmente utilizo mucho AutoMapper en producción y nunca tuve problemas de rendimiento con él. –
Gracias :) - En su ejemplo, ¿de dónde vienen "IModelMapperController" y "controller.ModelMapper"? – LiamB