9

Я читал на AutoMapper из-за ответа на один из моих предыдущих вопросов here.

В нем говорится, что AutoMapper сглаживает сложные модели домена, но мне нужно что-то, что делает наоборот. Мне нужно подключить мои модели просмотра (сплющенные модели домена) к сложным моделям домена, чтобы я мог быстро преобразовать модель представления в модель домена.

Есть ли что-то похожее на AutoMapper, которое берет модель просмотра и превращает ее в сложную модель домена?AutoMapper выравнивает доменные модели, но делает ли это наоборот? Если нет, что делать?

+0

вы можете сделать это с ValueInjecter http://valueinjecter.codeplex.com/ – Omu

ответ

1

Не очень, потому что это должно быть чрезвычайно условно, чтобы быть полезным. Легко различать шаблоны при сглаживании, но наоборот «просто ... слишком большая пользовательская логика.

+2

ValueInjecter делает это http://valueinjecter.codeplex.com/ – Omu

+0

не только это, но, похоже, двустороннее картографирование является сомнительной практикой: http://lostechies.com/jimmybogard/2009/09/18/the-case-for -Два-полосная-отображение-в-automapper /. – gabe

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) 
Смежные вопросы