我在之前的堆栈溢出示例中一直关注这些示例,我需要将Integer id转换为Azure移动应用程序,并且需要用户Kiske1在下面的帖子中描述的MappingDomainManager类。
Azure Mobile App using existing database
但是,我无法完成此操作,因为Automapper.impl.PropertyAccessor是“名称空间类型Impl不存在...”我使用的是最新的Automapper dll v6.1.1.0。
有谁知道PropertyAccessor被移动到/取代的位置? 此外,本文中指定的两个示例均来自2014年,有没有人知道更新的演练,最好是示例项目?
答案 0 :(得分:0)
有谁知道PropertyAccessor被移动到/或替换为?
我在AutoMapper项目进行了搜索,发现PropertyAccessor
已被删除。此外,我检查了我的移动应用项目,Automapper版本是3.3.1,PropertyAccessor
存在,旧的sample可以工作。我假设您可以尝试降级Automapper的版本以解决此问题。
有没有人知道更新的演练,最好是一个示例项目?
对于Automapper 6.1.1,FindTypeMapFor
方法的用法和GetExistingPropertyMapFor
方法的参数类型已更改,您可以在SimpleMappedEntityDomainManager
下修改代码,如下所示:
var m = Mapper.FindTypeMapFor<TModel, TData>();
m.GetExistingPropertyMapFor(new PropertyAccessor(typeof(TData).GetProperty("Id")));
要
var m = Mapper.Configuration.FindTypeMapFor<TModel, TData>();
m.GetExistingPropertyMapFor(typeof(TData).GetProperty("Id"));
此外,你可以参考adrian hall的关于The Domain Manager的书。