Я хотел бы знать, как я мог бы с помощью AutoMapper отобразить один Dto на несколько объектов.
Позвольте мне объяснить.
У меня есть один Dto с перечислением для описанияего тип (чтобы избежать нескольких dtos)
В зависимости от этого перечисления (здесь RelationType) я хотел бы сопоставить его с правильной моделью (Entity, что бы то ни было, это еще один объект, который я использую в базе данных).
public class BCardDto : IMappedDto
{
public long Id { get; set; }
public BCardRelationType RelationType { get; set; }
public long RelationId { get; set; }
}
Вот моя база модели:
public class BCardModel : IMappedDto
{
public long Id { get; set; }
}
А вот производная модель:
public class CardBCardModel : BCardModel
{
// ormlite, ignore that
[Reference]
public CardModel Card { get; set; }
[ForeignKey(typeof(CardModel), ForeignKeyName = "fk_bcard_card")]
public long RelationId { get; set; }
}
Как мне сопоставить Dto с правильной модельюв зависимости от перечисления, которое я дал?(Я не хочу использовать Mapper.Map везде, но хочу, чтобы mapper выполнял работу по отображению во время выполнения)
Вот как я делаю это для Модели -> Dto
cfg.CreateMap<CardBCardModel, BCardDto>()
.ForMember(s => s.RelationType, expression => expression.UseValue(BCardRelationType.Card))
.IncludeBase<BCardModel, BCardDto>();
Скажитеменя, если я делаю что-то не так и объясните мне, почему, пожалуйста:)
Заранее спасибо, Blowa.