I have an MVC project where I am using AutoMapper to map my Entity Framework Entities to View Models. The code that defines the mappings is in a boostrapper class that is called automatically when the application starts (App_Start, Global.asax)
I am doing some refactoring of my code to put all of my business logic in a Service Layer because we need to implement a batch process that runs daily which is doing some of the same logic as the MVC app.
One of the problems I am running into is now I need to map my database entities to some domain objects in my service layer. I think everything would still work fine in the MVC application because the bootstrapper is still being called in Global.asax.
Is there a way I can have my mapping code work for both my MVC application and another non-MVC application (could be a WCF service, console app, etc.) Where can I put this mapping code so it would get called by both applications only once?
Here is static class, could be used for WCF services initialization:
public static class ServiceConfigurations
{
private static bool mappingConfigured = false;
public static void ConfigureMapping()
{
if (mappingConfigured)
{
return;
}
Mapper.CreateMap<Model1, Model2>();
mappingConfigured = true;
}
public static void CleanupMapping()
{
Mapper.Reset();
mappingConfigured = false;
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With