我需要做一些对象之间的映射(例如PersonModel到PersonViewModel),并且正在研究不同的方法来做到这一点。具体来说,我正在使用实体框架并尝试将生成的模型映射到视图模型。.NET中的对象 - 对象映射有哪些不同的方法?
但是,我还没有找到一篇文章或资源来编译你如何做到这一点。到目前为止,我遇到了以下几点:
- 隐式转换
- 扩展方法(我认为这是最基本的方法,因为您手动从一个对象到另一个,它简单而繁琐的映射属性?) (有没有跟这个工作还)
- 反射(我已经修修补补了一点,但只有管理非常基本的映射)
- Automapper(很受欢迎,但我无法使其与EF很好地工作)
- 超值注射器(尚未与此合作)
- 的Emit映射器(也没有这个工作还没有,但可能我会有麻烦使其与EF工作?)
能否请你帮指出并阐述有可用的方法,以及利弊/每个的利弊?例如,我看到一些提到的Automapper比手动映射慢?或者可能指出一篇文章解决这个问题?
编辑:因为有些人可能会问我有什么问题AutoMapper,请参阅本:Automapper: How to map IList to EntityCollection
你在问整本文章甚至书本章节。 SO是一个问答网站。并且Automapper在使用EF时没有问题,主要是因为EF返回的对象是普通的旧对象。如果你使用EF特定的类,比如'EntityCollection',你做错了。检查所有教程,你会看到他们使用最基本的'ICollection' –