В приложении у нас есть набор объектов ORM и набор бизнес-объектов. Большую часть времени мы просто делаем член по копии экземпляра. В других случаях мы обрабатываем данные немного. Например:Member by Member copy
tEmployee emp = new tEmployee();
emp.Name = obj.Name;
emp.LastName = obj.LastName;
emp.Age = obj.Age;
emp.LastEdited = obj.LastEdited.ToGMT();
Теперь это прекрасно работает, и довольно быстро, но не совсем немногословен, когда речь идет о кодировании. Некоторые из наших объектов имеют до 40 членов, поэтому выполнение такой копии может стать довольно утомительным. Конечно, вам нужно только два метода для двух-> конверсий, но я хотел бы найти лучший способ сделать это.
Отражение - это естественный выбор, но по эталону я обнаружил, что время выполнения было примерно на 100 раз медленнее при использовании отражения.
Есть ли лучший способ сделать это?
Уточнение: Я перехожу от одного типа к другому. В приведенном выше примере obj имеет тип BLOGICEmployee и emp имеет тип tEmployee. Они разделяют имена участников, но это все.
+1: Я использовал Automapper в производственных приложениях точно для цели, описанной OP, и ее * awesome *. – Juliet