Каковы преимущества использования automapper?

Мой вопрос может быть глупым, но я почти уверен, что пропускаю очень важную часть проблемы. должен сделать какой-то объект для сопоставления объектов (между классами домена, используемыми в проекте C #, и классами, которые отправляются на флэш-клиенты).

Моим первым выбором был Automapper. Но у меня были некоторые проблемы с ним (вложенные свойства, а не определенный конструктор без параметров Оказывается, не так просто отобразить действительно сложный тип с помощью automapper.

Тогда мой вопрос: почему бы не реализовать такие методы, как:

  ClassA GetClassAByClassB(ClassB pObj)

   {  
     ClassA objA = new ClassA();  
     objA.Prop1 = pObj.Prop1;  
     objA.NestedType.Prop2 = pObj.Prop2;  
     //....Some more.....  
     return objA;  
   }  

Он имеет точно такой же уровень гибкости, как отображение, выполненное с помощью Automapper. Вам по-прежнему необходимо указать, какие свойства исходного объекта копируются в какие свойства объекта назначения. Вы просто делаете это, используя '=', а не лямбда-выражение.

Но если вы что-то измените в своих доменных классах, вам все равно придется изменить эту часть «сопоставления». Итак, что является главным, что должно убедить меня использовать Automapper (как я сказал в начале, я почти уверен, что упускаю что-то важное).

6
задан Katalonis 22 October 2010 в 11:10
поделиться