映射对象

时间:2010-08-04 15:02:28

标签: c# reflection mapping

通过示例将类对象映射到轻量级类对象的最佳解决方案是什么:

客户到CustomerDTO都有相同的属性名称,我想到了它们之间映射的最佳优化解决方案,我知道反射让我感到非常沮丧,并且为每个映射制作方法都很耗时,所以任何想法?

提前感谢。

4 个答案:

答案 0 :(得分:7)

答案 1 :(得分:2)

如果反射速度太慢,请尝试更快速:http://www.codeproject.com/KB/library/fasterflect_.aspx

如果使用缓存机制,它并不比手写代码慢得多。

答案 2 :(得分:1)

我一直在玩这个,并有以下观察。客户应该从CustomerDTO继承还是读/写CustomerDTO?我发现一些DTO生成器只为DTO中的数据项向量生成愚蠢的固定大小数组集合,其他允许您指定LIST<>或一些这样的集合。高级集合不需要出现在序列化的DTO中,而是需要采用的效果。如果您的解决方案添加了高级集合,那么您可以继承,如果没有,那么您可能想要读/写中间DTO。

我已经为我的DTO生成使用了Protocol Buffers和XSDObjectGenerator(在不同的时间!)。

答案 3 :(得分:0)

新的替代方案是UltraMapper

比我在2017年2月尝试的任何事情都要快。 (在任何情况下都比Automapper快2倍)

比AutoMapper 更可靠(没有StackOverflows,没有深度限制,没有自我参考限制)。

UtraMapper 只有1300行代码,而不是超过4500+的Automapper,它更容易理解,维护和贡献项目。

它正在积极开发,但此时需要社区审核。 试一试,在页面项目上留下反馈!。