我正在尝试将我的依赖项注入到一个automapper配置文件中;简介就是这样;
public class UserProfile : Profile
{
private IIdentityService _identity;
public UserProfile(IIdentityService identity)
{
_identity = identity;
}
protected override void Configure()
{
Mapper.CreateMap<User, UserViewModel>();
Mapper.CreateMap<List<User>, UsersViewModel>()
.ForMember(d => d.Users, o => o.MapFrom(s => s))
.ForMember(d => d.Domains, o => GetDomains());
}
public List<string> GetDomains()
{
return _identity.AvailableDomains();
}
}
有几篇文章建议使用这样的代码;
kernel.Bind<IMappingEngine>().ToMethod(ctx => Mapper.Engine);
我已经尝试在NinjectWebCommon中添加它(在CreateKernel和RegisterServices中),但我仍然遇到运行时错误,因为没有默认(空)构造函数,AutoMapper无法解析。我猜这个问题与Ninject方面有关(我的实现就是这样)。