3

有谁知道如何使用 LightInject 配置 AutoMapper?AutoMapper 文档只有 Ninject 和 Simple Injector 的示例。

我在尝试注册 AutoMapper 配置时遇到了困难。

我正在使用 ASP.NET MVC C#。

public class CompositionRoot : ICompositionRoot
{
    public void Compose(IServiceRegistry serviceRegistry)
    {
      serviceRegistry.Register(c => new AutoMapperConfiguration());
    }
}

public static class AutoMapperConfiguration
{
    public AutoMapperConfiguration()
    {
        Mapper.Initialize(cfg =>
           cfg.AddProfiles(typeof(Namespace.Class).Assembly)
        );
    }
}
4

1 回答 1

4

我想到了。下面的代码在 CompositionRoot 中,工厂是使用 IServiceRegistry 注册的。我会将var config = new MapperConfiguration(cfg => cfg.AddProfiles(typeof(CustomProfileClass).Assembly));代码移动到我将创建的自定义 MapperConfiguration 类。

public class CompositionRoot : ICompositionRoot
{
    public void Compose(IServiceRegistry serviceRegistry)
    {
      var config = new MapperConfiguration(cfg => cfg.AddProfiles(typeof(CustomProfileClass)));
      serviceRegistry.Register(c => config.CreateMapper());
    }
}
于 2018-07-20T20:48:44.623 回答