【发布时间】:2011-04-21 08:29:40
【问题描述】:
我怀疑 AutoMapper 有一些简单的配置来获得我想要的映射,但我不知道。谁能指出我正确的方向?
这是我的情况:
我在实体框架中定义了 table-per-type 继承,其父类型为 Publication,子类型为 Article(+ 5 个其他子类型)
ArticleAdmin 是我的 (MVC) 视图模型,它继承自 PublicationAdmin 视图模型。
将视图模型映射到域子类型可以正常工作:
Mapper.CreateMap<ArticleAdmin, Article>();
var _Article = Mapper.Map<ArticleAdmin, Article>(article);;
所以我添加文章没有问题。
但走另一条路似乎并不那么容易。这不会填充子类型字段:
Mapper.CreateMap<Article, ArticleAdmin>();
var _Article = Mapper.Map<Article, ArticleAdmin>(_article_entity);
更新
我已经对此进行了修改,因为问题的一部分是我的通用存储库正在返回超类型的实体,而不是子类型。现在域到视图模型的映射可以编译,但它仍然将空值映射到子类型字段,同时正确映射超类型字段。
【问题讨论】:
标签: asp.net-mvc entity-framework automapper