AutoMapper - 找不到映射器

时间:2011-01-20 11:05:14

标签: .net automapper

我似乎无法使用AutoMapper ...

首先,文档错误或过时或者我很愚蠢:

AutoMapperConfiguration.Configure(); // this doesn't exist

其次,我正在通过调用:

来创建我的地图
Mapper.CreateMap(myType1, myType2)

其中类型是字面上彼此精确的属性映射。

但是当我打电话时

Mapper.Map(myInstanceOf1, myType2)

我找不到映射器错误。如果我检查AutoMapper内部_objectMapperCache字典,我可以看到上面我的映射的内部值为null(因此异常)。

我做错了什么?

2 个答案:

答案 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);