2

my first question that I can't find the exact answer elsewhere.

Using Automapper 4.2.1, Unity 4.01

I'm trying to have an Automapper profile call my service interface again to get a nested object to map to my destination property. Ultimately I would prefer to not use ResolveUsing, but if that works that is fine with me.

 public class HeadlineMap : Profile
{
    private readonly IDeserializeModels _deserialize;

    public HeadlineMap(IDeserializeModels argDeserializeModels)
    {
        _deserialize = argDeserializeModels;
    }

    protected override void Configure()
    {
        CreateMap<LiveSiteHeadline, Headline>().
            ...
            ForMember(t => t.VideoTitle, options => options.MapFrom(f => f.videoTitle)).
            ForMember(t => t.Disclaimer, options => options.ResolveUsing<ResolveDisclaimerReference>().ConstructedBy(()=> new ResolveDisclaimerReference(_deserialize)));
    }
}

public class ResolveDisclaimerReference : ValueResolver<LiveSiteHeadline, Object>
{

    private readonly IDeserializeModels _deserialize;

    public ResolveDisclaimerReference(IDeserializeModels argDeserializeModels)
    {
        _deserialize = argDeserializeModels;
    }

    protected override object ResolveCore(LiveSiteHeadline source)
    {
        return _deserialize.GetResponseObject(source.disclaimer.urlPattern, source.disclaimer.project, source.disclaimer.path);
    }

}

I'm using the recommended 4.2.1 way of registering all of my maps within the Unity container:

var config = new MapperConfiguration(cfg =>
        {
            foreach (var profile in profiles)
            {
                cfg.AddProfile(profile);
            }
        });

        container.RegisterType<MapperConfiguration>(new ContainerControlledLifetimeManager(),
            new InjectionFactory(c => config))
            .RegisterType<IMapper>(new InjectionFactory(c => c.Resolve<MapperConfiguration>().CreateMapper()));

But when I run the above I get -

"Missing type map configuration or unsupported mapping.".

Any ideas on what I'm missing? The other examples using ObjectFactory, Ninject don't seem to work as I must not be using those.

Mike H
  • 21
  • 3

0 Answers0