【发布时间】:2012-08-06 21:04:53
【问题描述】:
我有一个 REST 样式的 Web 应用程序,它首先使用 EF 代码。我正在使用 AutoMapper 将我的类映射到 DTO 类,以便通过网络传递,并(希望)返回。
当我从我的 POCO 类映射到 DTO 时,我实际上是从一个 EF 代理对象开始的,因为我正在处理的对象是对我的 DataContext 执行某种查询的结果。不过,这似乎工作正常。
当我将 DTO 类作为 POST 请求的一部分返回时,我可以使用 AutoMapper 将其映射到我的 POCO 类,this 也可以正常工作。
但是因为 AutoMapper 只是 new()-ing POCO 对象,而不是在 EntitySet 上使用 Create 方法,所以我现在有一个 POCO 类而不是相应的 EF 代理类.这让我更难将数据添加到我的数据库等中。
如何说服 AutoMapper 使用EntitySet.Create?或者有没有其他方法可以达到同样的效果?
【问题讨论】:
-
据我所知 AutoMapper 不能像某些 IoC 容器那样使用工厂方法进行扩展。这将是一个非常有意义的添加,但也许你必须自己贡献它!
-
@GertArnold:完美!您应该将其添加为答案,我会接受。
标签: entity-framework automapper poco dto