行是知之始,知是行之成。这篇文章主要讲述如何在Ninject中使用AutoMApper.5.2.0?相关的知识,希望能为你提供帮助。
我现在正在开发一个大型ASP.NET MVC 5项目,我正在使用Ninject框架为MVC实现DI。实际上这是我第一次使用Ninject,我很难知道使用AutoMApper 5.2.0的最佳做法是什么。
在谷歌搜索之后,我发现了一些示例,这些示例演示了旧版本的AutoMapper,它在新版本中有一些不推荐使用的方法。
我的解决方案包括以下项目:
- 核心
- 数据
- 服务
- 卷筒纸
答案在Ninject中需要为AutoMapper设置三件事。
- Bind()
AutoMapper.IMapper
- 指示AutoMapper将Ninject用于其服务,以及
- 使用映射初始化AutoMapper。
NinjectModule
:public class AutoMapperModule : NinjectModule
{
public override void Load()
{
Bind<
IMapper>
().ToMethod(AutoMapper).InSingletonScope();
}private IMapper AutoMapper(Ninject.Activation.IContext context)
{
Mapper.Initialize(config =>
{
config.ConstructServicesUsing(type =>
context.Kernel.Get(type));
config.CreateMap<
MySource, MyDest>
();
// .... other mappings, Profiles, etc.});
Mapper.AssertConfigurationIsValid();
// optional
return Mapper.Instance;
}
}
【如何在Ninject中使用AutoMApper.5.2.0()】那么你只需要将
AutoMapper.IMapper
注入你的类而不是使用静态Mapper
推荐阅读
- 如何注入动态创建的用例(android,clean architecture,dagger2)
- 在Mapping时向Automapper提供构造函数参数
- 如何将Applescript scpt文件转换为命令
- .Net Core App - 命令行格式异常
- 在Android中登录尝试失败时app崩溃了
- 在Android studio中使用活动模板时,我无法添加新的Java类吗()
- Android SQLite用户登录不起作用
- 无法使用react-native app中的redux-persist检查索引/主文件上是否已加载持久状态
- 将外部JAR添加到Android AOSP构建时出错