我刚刚从版本2升级到Automapper 3.我在项目中使用了两种方法:
IsListOrDictionaryType()
和ToNullSafeString()
我使用的是.NET 4.0。
有没有人有任何建议/想法?
更新
在Automapper 3.0.0中有四个额外的命名空间。 Impl
,Internal
,Mappers
,QueryableExtensions
。 “缺失”函数位于Internal
中,但其他对象方法和类型也是如此,因此似乎不是解决方案。
答案 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();