0

According to automapper docs, I can map nested objects to destination using IncludeMembers function. I have issues with next sample.

Code is available on net fiddle, below is quick reference:

How I map:

    var source = new CategoryStatus
    {
        Subgroup = new CategorySubgroup
        {
            SubgroupCode = "SubgroupCode",
            CategoryGroup = new CategoryGroup { GroupCode = "SubgroupCode" }
        }
    };
    
    var result = Mapper.Map<Dest, CategoryStatus>(source);

My classes:

public class Dest
{
    public string SubgroupCode { get; set; }
    public string GroupCode { get; set; }
}

public class CategoryStatus
{
    public CategorySubgroup Subgroup { get; set; }
}

public class CategorySubgroup
{
    public string SubgroupCode { get; set; }
    public CategoryGroup CategoryGroup { get; set; }
}

public class CategoryGroup
{
    public string GroupCode { get; set; }
}

My Configuration:

var cfg2 = new MapperConfiguration(cfg => {

        cfg.CreateMap<CategoryStatus, Dest>()
            .IncludeMembers(x => x.Subgroup);

        cfg.CreateMap<CategoryGroup, Dest>();

        cfg.CreateMap<CategorySubgroup, Dest>()
            .IncludeMembers(x => x.CategoryGroup);

    });

Error:

[System.ArgumentException: Property 'System.String GroupCode' is not defined for type 'CategorySubgroup']

Any ideas about configuration setup? Automapper version is 10.0.0

Update

Version 9.0.0 works. Possible latest will also work, but it contains some breaking changes for me, so I didn't test it.

Anton Putau
  • 632
  • 1
  • 7
  • 31

0 Answers0