AutoMapper wiele do wielu relacji do kolekcji

Próbuję zmapować elementy do kolekcji za pomocą wielu do wielu tabel przy użyciu AutoMappera.

Mój model domeny (Entity Framework) wygląda tak:

public class User
{
    public int UserID { get; set; }
    public string Name { get; set; }        
    public IList<UserCompany> UserCompanies { get; set; }
}

public class Company
{
    public int CompanyID { get; set; }
    public string Name { get; set; }
}

public class UserCompany
{
    public int UserCompanyID { get; set; }
    public int UserID { get; set; }
    public int CompanyID { get; set; }
}

Próbuję odwzorować klasę, która wygląda tak:

public class CompanyDTO
{
    public int CompanyID { get; set; }
    public string Name { get; set; }
}

public class UserDTO
{
    public int UserID { get; set; }
    public string Name { get; set; }
    public IList<CompanyDTO> Companies { get; set; }
}

Moja obecna konfiguracja mapowania wygląda tak:

Mapper.CreateMap<Company, CompanyDTO>(); //works no problem

Mapper.CreateMap<User, UserDTO>()
    .ForMember( dto => dto.Companies,
    opt => opt.MapFrom(x => Mapper.Map<IList<Company>, IList<CompanyDTO>>(x.UserCompanies.Select( y => y.Company ).ToList())));

Zapewnienie, że konfiguracja jest poprawna, zwraca true, ale kiedy próbuję odwzorować użytkownika na UserDTO, otrzymuję: Podpis ciała i deklaracja w implementacji metody nie pasują.

Jeśli użyję AfterMap i ręcznie przerzucę każdą Firmę na listę Firm, będzie działać, ale wygląda na to, że powinienem być w stanie poradzić sobie z tym w ramach tworzenia mapy.

W moim zapytaniu, aby uzyskać pojedynczego użytkownika z bazy danych DB, dołączam właściwość nawigacji UserCompany.Company i mogę wykonać szybki podgląd i zobaczyć, że jest zwracany.

questionAnswers(1)

yourAnswerToTheQuestion