You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
isaacabraham edited this page Dec 21, 2012
·
12 revisions
###Situation
With the default behaviour of the Automapper, it expects to find one and only one implementation of a given interface. If you have several concrete types that map to an interface, it will throw a DuplicateMappingException.
###Example
public interface IMyService { }
public class MyService : IMyService { }
public class MyOtherService : IMyService { }
###How do I fix this?
You have several options: -
If you intend to only use one of these implementations at runtime, mark the other one with the [DoNotMap] attribute (or fluent equivalent).
If you want to access all implementations at runtime, either: -
Mark the interface as a [Multimap] (or fluent equivalent)
Use the MultimapByDefault mapping behavior when calling the Automapper. See here for more details on Multimaps.