Automapper自定义解析器 – 将存储库注入构造函数

我正在尝试为automapper创建一个自定义解析器,它需要访问我的一个数据存储库来检索登录的用户帐户。

这是我到目前为止的代码……

public class FollowingResolver : ValueResolver 

但是我收到此错误:

 FollowingResolver' does not have a default constructor 

我尝试添加一个默认的contrstructor,但我的存储库永远不会被初始化。

这是我的autoampper初始化代码:

 public static void Configure(IWindsorContainer container) { Mapper.Reset(); Mapper.Initialize(x => { x.AddProfile(); x.AddProfile(); x.ConstructServicesUsing(container.Resolve); }); Mapper.AssertConfigurationIsValid(); } 

我错过了什么,甚至可以这样做,还是我错过了这里的船?

在尝试注入服务时,使用Castle Windsor时遇到了同样的错误。

我不得不补充:

 Mapper.Initialize(map => { map.ConstructServicesUsing(_container.Resolve); }); 

Mapper.CreateMap调用之前。

像这样创建了一个ValueResolverInstaller

 public class ValueResolverInstaller : IWindsorInstaller { public void Install(IWindsorContainer container, IConfigurationStore store) { container.Register(Classes.FromThisAssembly() .BasedOn() .LifestyleTransient()); } } 

ValueResolver本身:

 public class DivergencesResolver : ValueResolver { private AssessmentService assessmentService; public DivergencesResolver(AssessmentService assessmentService) { this.assessmentService = assessmentService; } protected override int ResolveCore(MyClass c) { return assessmentService.GetAssessmentDivergences(c.AssessmentId).Count(); } } 

在…之后找到了解决方案shorlty我忘记将我的解析器添加为IoC容器。

现在工作得很好!