ino*_*len 20 asp.net asp.net-mvc entity-framework automapper
最长的时间我一直在使用AutoMapper将我的域模型映射到我的DTO,以及将我的DTO映射回域模型.
我正在为我的ORM使用EF4,当映射的模型包含需要添加/更新/删除的子集合时,这种映射变得非常难看.当我继续我的项目时,我越来越多地遇到这个问题:博客文章的照片,订单的包裹等.
当从DTO->域模型出发时,我最终必须添加一个BeforeMap调用,从域模型的集合中删除所有实体,然后为从DTO获取每个实体的PK的集合添加自定义ValueResolver,抓取它来自数据库(以便实体框架不认为我正在添加新实体),并将其重新添加到域模型的集合中,然后将任何更新应用于各个字段.
这是一个非常难看的解决方案,但我尝试手动处理更新这些集合也是如此.有没有人有更清洁方法的建议?
您可能希望使用ValueInjecter而不是 AutoMapper 来实现此功能。查看这个问题,AutoMapper 与 ValueInjecter的制造者都参与其中。我个人没有使用过 Value Injecter,但它是为了完成您想要做的事情而构建的。AutoMapper 更适合扁平化,但 AutoMapper 的作者承认它不是“Unflattening”的好工具,而这正是您正在尝试做的事情。
| 归档时间: |
|
| 查看次数: |
3783 次 |
| 最近记录: |