2
Mapper.CreateMap<WorkItemSummary, WorkItemSummaryDto> ()
                .ForMember(dto => dto.ProductDisplayName, opt => opt.MapFrom(src => src.Product.DisplayName))
                .ForMember(dto => dto.TeamId, opt => opt.MapFrom(src => src.Product.Team.TeamId))
                .ForMember(dto => dto.TeamName, opt => opt.MapFrom(src => src.Product.Team.TeamName))
                .ForMember(dto => dto.RRConsolidated, opt => opt.ResolveUsing<WIConsolidateResolveReasonResolver>())
                .ForMember(dto => dto.NewBugsQuery, opt => opt.ResolveUsing<WIQueryNewBugsResolver>())
                .ForMember(dto => dto.ResolvedBugsQuery, opt => opt.ResolveUsing<WIQueryResolvedResolver>())
                .ForMember(dto => dto.ClosedBugsQuery, opt => opt.ResolveUsing<WIQueryClosedResolver>())
                .ForMember(dto => dto.BacklogQuery, opt => opt.ResolveUsing<WIQueryBacklogResolver>())
                .ForMember(dto => dto.ResolvedReasonFixQuery, opt => opt.ResolveUsing<WIQueryResolvedReasonFixResolver>());


--- Adding One Resolver Code and mostly all resolvers are doing same Job but pulling different content from Xml Nodes

    public class WIQueryNewBugsResolver: ValueResolver<WorkItemSummary, string>
    {
        protected override string ResolveCore(WorkItemSummary source)
        {

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(System.IO.Path.Combine(AppDomain.CurrentDomain.RelativeSearchPath, "WIsQuery.xml"));

        ....

        }
    }

I have multiple resolvers doing almost same job of reading some xmls and getting the data. Thinking of consolidating all those calls under one resolver. ex: WIConsolidateResolveReasonResolver, WIQueryResolvedReasonFixResolver, WIQueryBacklogResolver

In this regard, can I call one resolver once and get all the other properties populated in one call.

Is there any other method call in place of ForMember

Thanks

3
  • can you please share full code . Commented Sep 11, 2015 at 20:44
  • Just added a resolver, but my concern here is performance.... Looking to see if there is any way in AutoMapper to Populate Destination Object Properties using One Resolver Commented Sep 11, 2015 at 21:37
  • No May be here you can't because for member use for mapping properties with different name or make it ignore .But for checking assert.arequal you can use mapper.assertconfigurationisvalid() for checking equality not need to check single-2 properties. Commented Sep 12, 2015 at 4:48

1 Answer 1

0

use "forallmembers" method of automapper if same job you are doing.may be it will help for you.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.