2010-11-29 20 views
2

J'inscris automapper en utilisant l'unité avec les éléments suivants:Automapper avec Unity - où mettre les choses CreateMap?

container 
    .RegisterType<AutoMapper.Configuration, AutoMapper.Configuration>(new PerThreadLifetimeManager(), 
new InjectionConstructor(typeof (ITypeMapFactory), AutoMapper.Mappers.MapperRegistry.AllMappers())) 
    .RegisterType<ITypeMapFactory, TypeMapFactory>() 
    .RegisterType<IConfiguration, AutoMapper.Configuration>() 
    .RegisterType<IConfigurationProvider, AutoMapper.Configuration>() 
    .RegisterType<IMappingEngine, MappingEngine>(); 

Cela fonctionne bien, mais où dois-je mettre l'équivalent de mes Mapper.CreateMap de?

De même, si j'ai des résolveurs personnalisés, comment puis-je les enregistrer là où ils ont des dépendances sur d'autres objets que j'ai enregistrés via Unity?

Répondre

0

Une fois que vous avez tout enregistré dans IoC, extrayez l'instance IConfiguration du conteneur pour enregistrer les résolveurs personnalisés & create mappings.

+0

Avez-vous un exemple? – retslig

+1

@retslig Je ne sais pas, je comprends ce que vous demandez, mais je pense qu'il devrait ressembler ... 'configuration IConfiguration = // tirer de IoC' ' configuration.CreateMap ..... '' configuratoin.CreateMap ..... '' // tout ce que vous need' 'configuration.AssertConfigurationIsValid();' désolé au sujet de la mise en forme, mais je ne peux pas comprendre comment obtenir un bloc de code dans un commentaire –