En una aplicación tenemos un conjunto de objetos ORM y un conjunto de objetos comerciales. La mayoría de las veces simplemente hacemos un miembro por copia de miembro. Otras veces procesamos los datos levemente. Por ejemplo:Miembro por copia del miembro
tEmployee emp = new tEmployee();
emp.Name = obj.Name;
emp.LastName = obj.LastName;
emp.Age = obj.Age;
emp.LastEdited = obj.LastEdited.ToGMT();
Ahora bien, esto funciona muy bien, y es bastante rápido, pero no exactamente conciso cuando se trata de la codificación. Algunos de nuestros objetos tienen hasta 40 miembros, por lo que hacer una copia como esta puede ser bastante tedioso. De acuerdo, solo necesitas 2 métodos para dos-> conversiones, pero me gustaría encontrar una forma mejor de hacerlo.
La reflexión es una elección natural, pero en un punto de referencia encontré que el tiempo de ejecución era aproximadamente 100 veces más lento cuando se utilizaba la reflexión.
¿Hay una mejor manera de hacerlo?
aclaración: Estoy convirtiendo de un tipo a otro. En el ejemplo anterior, obj es del tipo BLogicEmployee y emp es del tipo tEmployee. Comparten nombres de miembros, pero eso es todo.
+1: He usado Automapper en aplicaciones de producción exactamente para el propósito descrito por el OP, y es * awesome *. – Juliet