NinjectでAutoMapperに設定する必要があるものが3つあります。
- バインド()
AutoMapper.IMapper
- そのサービスのためにNinjectを使用するAutoMapperを指示し、そして
- は、あなたのマッピングで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;
}
}
その後、あなただけの代わりに静的Mapper
を使用してのベストプラクティスのようなものはありません、あなたのクラスに
AutoMapper.IMapper
を注入し、読んで[ここ](http://meta.stackoverflow.com/questions/265928/is-a-best-practice-question-off-topic)。どのようにして実装する必要があるか、それを必要とするかのユースケースとビジネスニーズのみがあります。詳細をいくつか教えていただければ、具体的な回答を得られます。 – kayessご協力いただきありがとうございます。これは私が取り組んでいるプロジェクトです http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pattern-and-dep/ – Morz
どのレイヤでマッピングを行いますか? – kayess