Я читал на AutoMapper из-за ответа на один из моих предыдущих вопросов here.
В нем говорится, что AutoMapper сглаживает сложные модели домена, но мне нужно что-то, что делает наоборот. Мне нужно подключить мои модели просмотра (сплющенные модели домена) к сложным моделям домена, чтобы я мог быстро преобразовать модель представления в модель домена.
Есть ли что-то похожее на AutoMapper, которое берет модель просмотра и превращает ее в сложную модель домена?AutoMapper выравнивает доменные модели, но делает ли это наоборот? Если нет, что делать?
9
A
ответ
1
Не очень, потому что это должно быть чрезвычайно условно, чтобы быть полезным. Легко различать шаблоны при сглаживании, но наоборот «просто ... слишком большая пользовательская логика.
4
Вы делаете !. Вы создаете метод MapToModel, в котором вы выполняете правое/левое кодирование и синхронизируете их вместе.
public MyModel MapToModel(MyViewModelForm vmf)
{
//new up MyModel model;
model.foo = vmf.foo;
return model;
}
Если приложения закодированы сами, что именно мы будем делать для жизни ...?
+2
приложений, которые сами кодируют :) – Omu
2
ValueInjecter делает это, и это довольно легко использовать:
//flatenning
personDto.InjectFrom<FlatValueInjection>(person);
//unflattening
person.InjectFrom<UnflatValueInjection>(personDto);
и
//this is just mapping without flattening/unflattening
foo.InjectFrom(bar)
Смежные вопросы
- 1. Что делает «если (1)» делать?
- 2. Что делать, если нет ошибки?
- 3. OpenCV cvSet2d ..... то, что делает это делать
- 4. Полностью застрял - нужны модели, но никого нет - Что делать?
- 5. что это делает рельсы код делать?
- 6. Пакет - если нет (это) или (что) или (этот) делать (тот)?
- 7. Что делает || = делать?
- 8. Доменные модели - Проектирование модели
- 9. Что делать с телефонами, если нет CSS?
- 10. Что делать, если финализатор делает объект доступным?
- 11. Что делает (! Volatile); делать?
- 12. Что делает? ... : ... делать?
- 13. Что делает Object ([]); делать?
- 14. BASH - Что делает _() {_ | _ &}; _ делать?
- 15. Что делать, если у меня нет контекста?
- 16. Что делать, если брокером сельдерея нет?
- 17. что делает @autoreleasepool делать?
- 18. Что делает> * делать?
- 19. Что делает `!: -` делать?
- 20. Что делает page.driver.reset! делать?
- 21. Что делает «докер»? делать?
- 22. Если на сайте нет API - что делать?
- 23. Что делает Rails.application.eager_load! делать?
- 24. Что делает [:] делать?
- 25. Что делает grep * делать?
- 26. Что делает jq '.' делать?
- 27. Что делает стиль = "..." делать?
- 28. Что делать, если нет Gemfile в приложении
- 29. Что делает контент: "" делать?
- 30. Что делает greenthread.sleep делать?
вы можете сделать это с ValueInjecter http://valueinjecter.codeplex.com/ – Omu