Automapper - 从实体框架映射许多一对多查找到视图模型
问题描述:
我相信这是一个基本AutoMapper问题:Automapper - 从实体框架映射许多一对多查找到视图模型
我有一个单一的“文章”实体框架的实体,我映射到一个视图模型传递以查看编辑。这工作得很好:
现在,我的EF模型包括通过TopicArticles查找表许多一对多关系的主题表,我想,当我编辑此文章的数据管理协会。
所以我加入这个我视图模型:
public ICollection<TopicArticle> TopicArticles { get; set; }
我相信这是反映实体类型正确规范 - 我的EF模型具有TopicArticles协会会员为EntityCollection。
,我添加第二个视图模型类填充列表:“缺少类型映射配置或不支持的映射”
public class TopicArticle
{
public int ArticleId { get; set; }
public int TopicId { get; set; }
public bool IsPrimaryTopic { get; set; }
}
当我运行的映射,我得到这是可以理解的,因为我没有告诉Automapper我的TopicArticle viewmodel类。
所以: 问题:
如何更改我的映射考虑到这一点额外的层?
(我真的不理解应如何映射到的Automapper语法)。
另外:有我错过了什么事吗?
NOTE/UPDATE:
有我贴的代码,任何“出版”这似乎是不正确的,应该是“文章”的一些错误 - 那是因为我简化situration位:文章实际上来自出版物,但我不想在这个问题上有那么复杂。
答
好的,这确实很基础。我的问题没有得到实际的Automapper文档。谷歌搜索“automapper文档”获取此链接的*响应:
http://automapper.codeplex.com/documentation
这是一个无用的TOC。
从主页访问真实文档。
的回答我的问题很简单: 首先,我为清楚起见,将名称更改我的第二个视图模型类:
public class TopicArticleAdmin
然后回到我的行动,我增加一个映射行:
Mapper.CreateMap<Publication, ArticleAdmin>();
Mapper.CreateMap<TopicPublication, TopicPublicationAdmin>();
var articles = Mapper.Map<IEnumerable<Publication>, IEnumerable<ArticleAdmin>>(
articleEntities
);