Asp.net-Mvc

AutoMapper 將域模型展平,但它會做相反的事情嗎?如果不是,那是什麼?

  • July 21, 2010

我一直在閱讀 AutoMapper,因為我在這裡回答了我之前的一個問題。

它說 AutoMapper 將復雜的域模型展平,但我需要一些相反的東西。我需要將我的視圖模型(扁平域模型)連接到復雜的域模型,以便我可以快速將視圖模型轉換為域模型。

有沒有類似於 AutoMapper 的東西,它採用視圖模型並將其變成複雜的域模型?

你做!。您創建一個 MapToModel 方法,您可以在其中進行右手/左手編碼並將兩者同步在一起。

public MyModel MapToModel(MyViewModelForm vmf)
{
 //new up MyModel model;
 model.foo = vmf.foo;

 return model;
}

如果應用程序自己編碼,我們究竟會做什麼謀生……?

ValueInjecter做到了,而且很容易使用:

//flatenning
personDto.InjectFrom<FlatValueInjection>(person);

//unflattening
person.InjectFrom<UnflatValueInjection>(personDto);

//this is just mapping without flattening/unflattening
foo.InjectFrom(bar)

引用自:https://stackoverflow.com/questions/1175875