title: AutoMapper How To Map Object A To Object B Differently Depending On Context
body: <p>Calling all AutoMapper gurus!</p>
  
  <p>I'd like to be able to map object A to object B differently depending on context at runtime. In particular, I'd like to ignore certain properties in one mapping case, and have all properties mapped in another case.</p>
  
  <p>What I'm experiencing is that Mapper.CreateMap can be called successfully in the different mapping cases however, once CreateMap is called, the map for a particular pair of types is set and is not subsequently changed by succeeding CreateMap calls which might describe the mapping differently.</p>
  
  <p>I found a blog post which advocates Mapper.Reset() to get round the problem, however, the static nature of the Mapper class means that it is only a matter of time before a collision and crash occur.</p>
  
  <p>Is there a way to do this?</p>
  
  <p>What I think I need is to call Mapper.CreateMap once per appdomain, and later, be able to call Mapper.Map with hints about which properties should be included / excluded.</p>
  
  <p>Right now, I'm thinking about changing the source code by writing a non-static mapping class that holds the mapping config instance based. Poor performance, but thread safe.</p>
  
  <p>What are my options. What can be done? Automapper seems so promising.</p>