自动映射:缺少TypeMap配置或不支持的映射

时间:2012-04-09 04:58:54

标签: asp.net-mvc-3 automapper-2

// HomeController.cs
[AutoMap(typeof(Test), typeof(TestViewModel))]
public ActionResult Index()
{
    var tests = new List<Test>();
    tests.Add(new Test());
    return View(tests);
}

// Index.cshtml
@model IEnumerable<AutoMapperTest.Models.TestViewModel>

// AutoMapper Configuration
CreateMap<Test, TestViewModel>();

// Automapper configuration test is fine
[TestMethod]
public void Should_map_dtos()
{
    AutoMapperConfiguration.Configure();
    Mapper.AssertConfigurationIsValid();
}

AutoMapAttribute取自此处。

如果操作返回'测试',则可行。如果它返回'IEnumerable'则不会(视图改为预期显然是TestViewModel和IEnumerable)。我究竟做错了什么?根据我的理解,我不需要显式映射List类型。

这可能有一个简单的答案,但是花了最后两个小时试图让它工作,所以非常感谢有人指点我的解决方案。

1 个答案:

答案 0 :(得分:2)

我从您的描述中不清楚您是否更改了AutoMapper属性以包含列表:

[AutoMapper(typeof(List<Test>), typeof(List<TestViewModel>)]