AutoMapper的替代品

sub*_*amn 58 .net automapper

除了AutoMapper之外,.NET中的对象到对象映射有哪些不同的替代框架

目前我们计划使用AutoMapper,但在最终确定此框架之前,我们希望了解其他任何框架.

haz*_*zik 36

EmitMapper,http: //emitmapper.codeplex.com/

ValueInjecter https://github.com/omuleanu/ValueInjecter

BLToolkit https://github.com/igor-tkachev/bltoolkit

我的作业开发OoMapper https://github.com/hazzik/OoMapper

  • ValueInjecter 2011年/ feb的最后一个版本,2010年1月的EmitMapper最后一个版本 - 这是我认为的一个关注点. (9认同)
  • ValueInjecter的最新版本现在是2015年10月; 比EmitMapper更新的方式,它的最后发布日期仍然是2010年1月.我想我会把它放在任何潜伏者身上. (4认同)
  • 如果考虑性能,EmitMapper将赢得大量时间.它的性能非常接近手写转换代码. (3认同)
  • 感谢您的大力帮助。推荐哪一个? (2认同)
  • 截至2015年,该街区有一个非常酷的新孩子:http://www.expressmapper.org/ (2认同)

kin*_*hen 18

我最近经历了一个类似的过程,试图找到一个真正涵盖我所有场景的映射器.我发现ValueInjecter是最好的自动化器,emitmapper和其他一些在codeplex上.

我选择了ValueInjector,因为它是最灵活的.我需要从实体映射到viewmodel,viewmodel回到实体,深度克隆你有客户 - >项目 - >项目,客户< - >项目的递归情况,以及子集合的添加/更新/删除.

开箱即用的ValueInjector不支持这个,但它的框架可扩展到足以轻松支持这一点.您可以在我在他们的讨论论坛上发布的这个约定中看到我的扩展点...

http://valueinjecter.codeplex.com/discussions/274484


swa*_*nee 15

老问题,但看看Mapster.如果性能至关重要并且支持大多数AutoMapper场景,它比AutoMapper(在我使用过的场景中为5-10倍)快得多.始终记得进行性能测试,因为结果因方案而异.
我们已经删除了适用于.Net 4.0/4.5/Core的新3.x版本,支持几个新功能,并且具有很大的性能改进.

http://www.nuget.org/packages/Mapster/

https://github.com/eswann/Mapster

披露......这是我为高负荷服务创建的项目之一,其中AutoMapper开始显示为我们的瓶颈之一.

  • 您可能有兴趣知道现在有一个针对SO的Mapster标记.您可能想要订阅它,以便您可以收到新问题的警报! (3认同)

Mal*_*olm 5

这是一个老问题,但现在还有https://github.com/agileobjects/AgileMapper