使用AutoMapper 4.2.1版的Obsole警告以及如何解决

时间:2016-05-03 22:31:29

标签: automapper

根据关于' AutoMapper Migraton from static API'的问题的出现?最近,我正在使用Web API和AngularJS探索Christos Sakell博客和构建单页应用程序,我也遇到了一些过时的警告。

/ ********************************************** *************************************  * AutoMapper.Mapper.CreateMap()'已过时:'动态创建地图将在5.0版中删除。  *使用MapperConfiguration实例并根据需要静态存储,或Mapper.Initialize。  *使用CreateMapper创建映射器实例。  ************************************************** ********************************* /

完全不知道最近AutoMapper的变化(我第一次使用这个映射工具)我试图摆脱那些过时的消息。搜索我遇到了两种可能的解决方案:

1)http://quabr.com/36398318/automapper-mapper-createmaptsource-tdestination-is-obsolete

2)http://davecallan.com/automapper-4-2-example/#comment-8914

这些提示似乎非常简单。事实证明,调整* MappingProfile类并不困难,但在几个控制器上该怎么做?那是一块完全不同的蛋糕。我完全迷失了。我遇到了各种奇怪的错误,不知道或不知道该怎么做。即使刚刚提到的博客也不是那么具有说服力的。或多或少,我感觉他们正在拯救这个谜题(我开玩笑)。

所以问题是:如何解决从控制器到* MappingProfile类的麻烦映射。幸运的是,我找到了一个可能的解决方案,所以请解决它......

1 个答案:

答案 0 :(得分:0)

我喜欢在网络上迷惑和嗡嗡作响,我终于找到了一些提示组合,这就是我想要与你分享的内容。

解决方案的结合是调整。

首先,请查看“从静态API迁移”页面(https://github.com/AutoMapper/AutoMapper/wiki/Migrating-from-static-API)。

注意“在4.2.x及更高版本......”下方的第二个块,这是几个控制器所需要的。 Dave Callan刚刚提供了部分线索。他只是忘记了解决方案的一部分。所以我让他把缺失的部分添加到他的解决方案中。

因此,实现“从静态API迁移”页面上的提示以及Dave Callan(http://davecallan.com/automapper-4-2-example/#comment-8919)的建议块1:在* MappingProfile类中实例化一个新的MapperConfiguration(...) ),你可以摆脱那些过时的警告:在每个周期正确映射。 至少,我摆脱了那些警告。

在AutoMapper的近期将会发生什么,希望德克萨斯州奥斯汀的那些人能够就此事做出正确的决定。

我还使用Quabr上的建议测试代码(从静态API迁移的第2块)(而不是实例化新的MapperConfiguration,他们建议调用当前Mapper的Initialize方法)。这种组合给出了我的错误,比如'矩阵边界外的索引'。

显然在每个周期都不会更新映射列表。这种代码调整的组合导致了(对我而言)“不行”。也许其他人,不同意我,很好,至少那是我注意到的。

我唯一的目标是帮助面临类似麻烦的其他成员。 我很高兴分享我的解决方案。玩得开心