Automapper 3.2.1:调用不明确,存在以下方法或属性





0/5 (0投票)
为遇到相同问题的用户提供修复方案,问题与Automapper 3.2.1相关。
我刚刚在我的项目中将Automapper更新到3.2.1。然后我遇到了以下错误
调用不明确,存在以下方法或属性‘AutoMapper.IMemberConfigurationExpression.ResolveUsing (System.Func<MYASSEMBLY.MYCLASS1,object>)’和‘AutoMapper.IMemberConfigurationExpression.ResolveUsing (System.Func<AutoMapper.ResolutionResult,object>)’
Mapper.CreateMap<TaskCreated, Task>()
.ForMember(x => x.Created, x => x.ResolveUsing(t => DateTime.UtcNow))
.ForMember(x => x.Modified, x => x.ResolveUsing(t => DateTime.UtcNow))
.ForMember(x => x.Deleted, x => x.Ignore());
快速搜索发现其他人也遇到了相同的问题。
所以有两种选择。
- 使用
MapFrom
Mapper.CreateMap<TaskCreated, Task>() .ForMember(x => x.Created, x => x.MapFrom(t => DateTime.UtcNow)) .ForMember(x => x.Modified, x => x.MapFrom(t => DateTime.UtcNow)) .ForMember(x => x.Deleted, x => x.Ignore());
- 明确告诉Automapper我在lambda表达式中使用的是哪个对象
Mapper.CreateMap<TaskCreated, Task>() .ForMember(x => x.Created, x => x.ResolveUsing((TaskCreated t) => DateTime.UtcNow)) .ForMember(x => x.Modified, x => x.ResolveUsing((TaskCreated t) => DateTime.UtcNow)) .ForMember(x => x.Deleted, x => x.Ignore());