我似乎无法使用AutoMapper ...
首先,文档错误或过时或者我很愚蠢:
AutoMapperConfiguration.Configure(); // this doesn't exist
其次,我正在通过调用:
来创建我的地图Mapper.CreateMap(myType1, myType2)
其中类型是字面上彼此精确的属性映射。
但是当我打电话时
Mapper.Map(myInstanceOf1, myType2)
我找不到映射器错误。如果我检查AutoMapper内部_objectMapperCache字典,我可以看到上面我的映射的内部值为null(因此异常)。
我做错了什么?
答案 0 :(得分:4)
您需要自己创建AutoMapperConfiguration
课程。添加静态Configure
方法并将配置代码放在那里。例如:
public class AutoMapperConfiguration
{
public static void Configure()
{
Mapper.Initialize( x => x.AddProfile<MyProfile>() );
}
}
public class MyProfile : Profile
{
public override string ProfileName
{
get { return "MyProfile"; }
}
public MyProfile()
{
// Configuration here
CreateMap<Account, AccountViewModel>();
}
}
答案 1 :(得分:2)
尝试使用通用语法,它适用于我:
Mapper.CreateMap<A, B>().ForMember(....
b = Mapper.Map<A, B>(a);