2011-12-20 4 views
2

В настоящее время я использую auto mapper, и я думаю, что это хороший инструмент, но мне не нравится, как он не может обрабатывать модель представления в ситуациях домена. Это отвратительно, что я должен зайти в автомат и отобразить каждый.ValueInjecter имеет ли эти функции automapper?

Я искал вокруг и читал о valueinjecter и как он может справиться с этим. Мне интересно, может ли это сделать эти функции, что у automapper?

  1. Можете ли вы сделать что-то вроде резольверов и фортатеров?
  2. Можете ли вы объединить значения. Например, на стороне клиента у меня есть дата-время, но оно разбито на 2 разных текстовых поля (у одного есть счетчик времени, у которого есть датпикер). Конечно, в базе данных он хранится как одно поле.

Так что в моем домене (что позже используется с nhibernate) у меня есть DateTime DateChoosen. На мой взгляд, модель имела бы String Date, String Time.

Прямо сейчас в automapper У меня есть резольвер (или форматировщик, который я не помню), который принимает оба значения модели представления и преобразует его в DateTime, а затем сопоставляет его с доменом.

Могу ли я сделать что-то подобное в valueinjecter?

Я также оглядывался и нашел это Automapper simulation with the ValueInjecter. Мне интересно, будет ли это иметь все функции automapper или если он просто делает синтаксис похожим на automapper.

Если он действительно использует automapper тоже, кто-нибудь знает, если они будут продолжать использовать самые последние версии?

+0

попробуйте это моделирование Automapper: http://valueinjecter.codeplex.com/releases/view/60311#DownloadId=318259 – Omu

+0

Я проверю его. Я только что закончил тем, что начал использовать automapper. Случай, который, как я думал, мне нужен для valueinjector, имеет домены nhibernate. Так что прямо сейчас я уверен, что если я буду сопоставлять Id из Vm в Domain, попытается ли он создать новую запись в моем db или обновит ли она старый? Поэтому, пока я не получаю больше времени, чтобы играть со сценариями, как это, я должен положить valueinjector в свой список todo (иначе я никогда не получу свой проект) – chobo2

ответ

0

Это другая концепция, это не точно то же самое, так что не имеет форматтеров и арбитр, он имеет только ValueInjections, которые применяются при введении от одного объекта к другому

точного сценарию, который вы описываете показано в prodinner образце, здесь:

http://code.google.com/p/prodinner/source/browse/trunk/WebUI/Mappers/DinnerMapper.cs

DinnerMapper наследует это:

http://code.google.com/p/prodinner/source/browse/trunk/WebUI/Mappers/Mapper.cs

Смежные вопросы