Automapper DTO - Flatten& Unflatten

时间:2012-01-11 09:59:25

标签: mapping automapper

有很多教程可以使用AutoMapper将域模型展平到DTO中。我正在使用实体框架,我想将我的域模型展平为DTO,以便在WCF中实现我的服务。然后,DTO将用作我的MVC表示层中的视图模型。

我对DTO在视图更新后所做的事情感到困惑。似乎有很多博客想知道为什么你要将DTO退回到域模型:

http://lostechies.com/jimmybogard/2009/09/18/the-case-for-two-way-mapping-in-automapper/

Product –> ProductDTO

ProductDTO –> Product

我认为这是我会采取的方法。在更新并通过WCF发回后,我如何处理DTO?如果它不是域模型,我如何将它提交给数据库?或者我应该使用像ValueInjecter这样的其他映射器来实现展平和不平整?

1 个答案:

答案 0 :(得分:1)

在您的UpdateProduct方法中,您基本上可以

  1. 将分离的实体附加到数据库上下文
  2. 将实体设置为已修改
  3. 保存更改
  4. 有关详细信息,请参阅以下链接:
    The Entity Framework In Layered Architectures
    Building N-Tier Apps with EF4
    Entity Framework Service Layer Update POCO

    修改
    另请参阅此问题:Using AutoMapper to unflatten a DTO  接受的答案基本上是使用ValueInjector