升级到automapper 3后缺少方法

时间:2013-10-21 12:49:09

标签: c# automapper

我刚刚从版本2升级到Automapper 3.我在项目中使用了两种方法:

IsListOrDictionaryType()ToNullSafeString()

我使用的是.NET 4.0。

有没有人有任何建议/想法?

更新 在Automapper 3.0.0中有四个额外的命名空间。 ImplInternalMappersQueryableExtensions。 “缺失”函数位于Internal中,但其他对象方法和类型也是如此,因此似乎不是解决方案。

4 个答案:

答案 0 :(得分:2)

根据此问题,他们似乎已转移到AutoMapper.Internal命名空间:https://github.com/AutoMapper/AutoMapper/issues/311

答案 1 :(得分:1)

我需要做的就是添加

using AutoMapper.Internal;

位于我的mapper配置文件顶部.cs并且运行正常。

答案 2 :(得分:0)

对于像我这样不熟悉变化细节的人,我使用了以下内容:

AutoMapper.Internal.PrimitiveExtensions.IsListOrDictionaryType(myData.GetType())

返回一个布尔值和

AutoMapper.Internal.PrimitiveExtensions.ToNullSafeString(myString)

返回一个字符串(sic)。

答案 3 :(得分:0)

这是一个副作用,但如果你正在使用ToNullSafeString并立即升级到v4.0,那么该方法就会永远消失。

https://github.com/paulbatum/automapper/blob/master/src/AutoMapper/Internal/PrimitiveExtensions.cs您可以看到早期的实现并自行完成,以减少对此方法的依赖。

你应该做类似的事情:

return value == null ? string.Empty : value.ToString();