我正在创建一个使用服务引用的c#库。我不希望整个服务可以在库外访问。所以我首先使用AutoMapper将我需要的服务类复制到我的库中的类似类中。第二步是使服务引用内部。我现在的主要问题是似乎没有任何支持内部访问的自动映射库。我尝试过AutoMapper,EmitMapper和ValueInjecter个库,我复制的所有对象都有null / default值。 AutoMapper有一个github issue与支持内部相关,但没有迹象表明我们什么时候会看到它。
我决定尝试使用JSON.NET对服务类进行序列化,然后将其反序列化到库类中。这很好用,但我想知道在性能方面这与AutoMapper这样的库相比如何。我知道EmitMapper在性能方面是王道。
是否有人发现适用于内部的自动映射解决方案?
答案 0 :(得分:1)
我已经创建了一个快速console program来测试每个库。
我创建了10,000个对象,这些对象具有6个设置为GUID的字符串属性。每个测试都迭代这些对象,自动将它们映射到不同类型的新对象。我为每个自动映射库运行测试10次,并以毫秒计算每个测试的平均时间跨度。
这样做的主要目的是确定使用JSON.NET是否是其他主要自动映射库的现实替代品。在前面它似乎与AutoMapper竞争,所以我想我有我的答案。