Automapper - отображение подклассов

1

У меня есть метод, который определяет некоторые сопоставления следующим образом:

/// <summary>
/// Mapping definitions for domain entities to database entities
/// </summary>
private static void DefineMappingDomainEntitiesToDatabase()
{
    // SellerListing 
    Mapper.CreateMap<SellerListing, Data.SellerListing>();

    // ListingShippingCost
    Mapper.CreateMap<ListingShippingCost, Data.ListingShippingCost>();
}

Определение объекта SalesListing содержит следующее свойство

List<ListingShippingCost> ListingShippingCostList { get; set; }

Когда я вызываю Mapper.AssertConfigurationIsValid(); Я получаю следующую ошибку:

SellerListing -> SellerListing (Destination member list)
MyApp.Entities.SellerListing -> MyApp.Data.SellerListing (Destination member list)

Unmapped properties:
ListingShippingCost

Поэтому он говорит мне, что у меня нет сопоставления для ListShippingCost, хотя у меня есть определение отображения для ListShippingCost, как вы можете видеть. По-видимому, мне нужно добавить что-то к моей DefenceList defintion для этого сопоставления, но я не уверен, что.

Теги:
automapper

1 ответ

2
Лучший ответ

Вы должны определить, откуда вы сопоставляете свойство ListingShippingCost:

private static void DefineMappingDomainEntitiesToDatabase()
{
    // SellerListing 
    Mapper.CreateMap<SellerListing, Data.SellerListing>()
          .ForMember(x => x.ListingShippingCost, cfg => cfg.MapFrom(y => y.ListingShippingCostList));

    // ListingShippingCost
    Mapper.CreateMap<ListingShippingCost, Data.ListingShippingCost>();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню