我是automapper的新手,所以我可能会以错误的方式攻击它。我正在开发一个mvc应用程序,我想使用automapper来映射我的域模型和我的视图模型。我的观点是让IList呈现html页面。automapper没有按预期映射
这里是我的控制器代码 -
IList<viewModel> vm = Mapper.Map<IList<entity1, viewModel>(dataFromEntity1);
这里是我的Automapper配置 -
protected override void Configure()
{
CreateMap<entity1, viewModel>();
}
这里是我的ENTITY1
public class entity1
{
public virtual int id { get; set; }
public virtual string anything { get; set; }
public virtual Entity2 entity2 { get; set; }
}
这里是ENTITY2 -
public class entity2
{
public virtual int id_2 { get; set; }
public virtual string everything { get; set; }
}
这里是我的视图模型 -
public class viewModel
{
public string anything { get; set; }
public string entity2everything { get; set; }
}
从通过CodePlex上的文档阅读,我以为一切从ENTITY2映射会自动工作,但是当我运行测试AssertConfigurationIsValid,它entity2everything失败。
我见过帖子here,显示应该有一个entity2Dto对象映射到,但是这个绑定在哪里?我必须将其添加到我的viewModel对象吗?
我缺少映射的地方吗?我无法弄清楚这应该如何工作。 感谢您的任何想法。
仍似乎没有工作。我从测试失败中得到的唯一消息是添加一个自定义的映射表达式,忽略或重命名entity1上的属性 – czuroski 2011-02-25 13:17:22
我想我明白了。它可能与一个关系有关 - 尝试自动映射和拼合一对多。我可能最终不得不使用自定义解析器。谢谢 – czuroski 2011-02-25 13:55:26