Я полагаю, что это базовый вопрос AutoMapper:
У меня есть одна сущность Entity Framework "article", которую я сопоставляю с моделью представления для передачи в представление для редактирования.Это прекрасно работает:
Mapper.CreateMap<Article, ArticleAdmin>();
var articleData = Mapper.Map<Article, ArticleAdmin>(articleEntity);
Теперь моя модель EF включает в себя отношение «многие ко многим» с таблицей «Темы» через таблицу поиска TopicArticles, и я хочу управлять ассоциациями при редактировании данных статьи.
Поэтому я добавляю это к моей модели представления:
public ICollection<TopicArticle> TopicArticles { get; set; }
Я считаю, что это правильная спецификация для отражения типа сущности - моя модель EF имеет член ассоциации TopicArticles в виде EntityCollection.
и я добавляю второй класс viewmodel для заполнения списка:
public class TopicArticle
{
public int ArticleId { get; set; }
public int TopicId { get; set; }
public bool IsPrimaryTopic { get; set; }
}
Когда я запускаю отображение, я получаю «Отсутствует конфигурация карты типов или неподдерживаемое отображение».И это понятно, поскольку я не рассказал Automapper о своем классе viewMode для темы TopicArticle.
Итак: ВОПРОС:
Как я могу изменить свое отображение, чтобы учесть этот дополнительный слой?
(Я не совсем понимаю синтаксис Automapper для того, как это должно отображаться.)
Также: я пропустил что-нибудь еще?
ПРИМЕЧАНИЕ / ОБНОВЛЕНИЕ:
Были некоторые ошибки в моем опубликованном коде, любая «публикация», которая появилась, была неправильной, и должна была быть «статьей» - это потому, что я немного упрощаю ситуацию: статьи на самом деле унаследованы от публикаций, ноЯ не хотел такой сложности в этом вопросе.