Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8160427
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T18:14:20+00:00 2026-06-06T18:14:20+00:00

I’m getting started with the concept of mapping domain models to view models in

  • 0

I’m getting started with the concept of mapping domain models to view models in ASP.NET MVC after watching a recommendation to do this to pass specific viewModels to the views.

I’ve been able to manage a basic mapping of one domain model to a simpler viewmodel with less properties but now need to produce a more complex viewmodel and can’t figure it out. I have the following domain models

public class Club
{
    public int ClubID { get; set; }
    public string FullName { get; set; }
    public string Description { get; set; }
    public string Telephone { get; set; }
    public string URL { get; set; }
    public DateTime CreatedDate { get; set; }

    public virtual ICollection<Member> Members{ get; set; }
}

public class Member
{
    public int MemberID{ get; set; }
    public string Name { get; set; }
    public MemberType Membership{ get; set; }
    public virtual Club Club { get; set; }
    public virtual int ClubID { get; set; }
}

public enum MemberType
{
    Standard,
    Special,
    Limited
}

I want to map to a view model such as this (note: I’ve split it like this because I think it makes sense but I’m not sure)…

public class ClubDetailsViewModel
{
    public int ClubID { get; set; }
    public string FullName { get; set; }
    public string Description { get; set; }
    public IList<ClubDetailsMemberSummaryViewModel> Members { get; set; }
}

public class ClubDetailsMemberSummaryViewModel
{
    public MemberType Membership { get; set; }
    public int MemberCount { get; set; }
}

What I’m trying to end up with is a page which displays some of the club details plus a summary report of the member types at the club with a count of the members. Such as:

Some Club Name
Description of the club.....

CLUB MEMBERS
Limited - 15
Standard - 100

So I think the viewmodel makes sense for this (although might be a better way to do it). Where I’m struggling is how to map the elements. I can get the Club to map the main fields to the club viewmodel but really can’t work out how to map the result of the list of clubs onto their view model and then add that to the main view model as a list.

I’m getting the clubs from my repository using this

var clubs = _clubRepository.GetClubByID(ID);

Then I can transform the Courts which are returned using an include in the data access layer from entity framework using this

var grpCourts = from c in clubs.Members
                group c by c.Membership into grp 
                select new { st = grp.Key, count = grp.Distinct().Count() };

How would I loop through the resulting records and map those to the ClubDetailsMemberSummaryViewModel and then add the list of those to the main ClubDetailsViewModel?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T18:14:23+00:00Added an answer on June 6, 2026 at 6:14 pm

    Your mapping from Club to ClubDetailsViewModel will be trivial with the exception of Members. For that property, you could write a quick resolver inline or write your own custom resolver. An inline resolver would look something like this:

    Mapper.CreateMap<Club, ClubDetailsViewModel>()
        .ForMember(dest => dest.Members, opt => opt.ResolveUsing(src => 
        {
            return src.Members
                .GroupBy(m => m.Membership)
                .Select(grp => new ClubDetailsMemberSummaryViewModel
                {
                    Membership = grp.Key,
                    MemberCount = grp.Distinct().Count()
                });
        }));
    

    I think it’s good practice to refactor more complex resolvers like this out to their own classes:

    public class MembershipClubDetailsResolver : ValueResolver<Club, IList<ClubDetailsMemberSummaryViewModel>>
    {
        protected override IList<ClubDetailsMemberSummaryViewModel> ResolveCore (Club source) 
        {
            return source.Members
                .GroupBy (m => m.Membership)
                .Select(grp => new ClubDetailsMemberSummaryViewModel
                {
                    Membership = grp.Key,
                    MemberCount = grp.Distinct().Count()
                })
                .ToList();
        }
    }
    

    And then use that resolver in your mapping:

    Mapper.CreateMap<Club, ClubDetailsViewModel>()
        .ForMember(dest => dest.Members, opt => opt.ResolveUsing<MembershipClubDetailsResolver>());
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

For some reason, after submitting a string like this Jack’s Spindle from a text
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I have an MVC Razor view @{ ViewBag.Title = Index; var c = (char)146;
link Im having trouble converting the html entites into html characters, (&# 8217;) i
this is what i have right now Drawing an RSS feed into the php,
I have this code to decode numeric html entities to the UTF8 equivalent character.
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString
Does anyone know how can I replace this 2 symbol below from the string
I have a view passing on information from a database: def serve_article(request, id): served_article

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.