1
// 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 类型。

这可能有一个简单的答案,但在过去的两个小时里试图让它工作,所以非常感谢有人指出我的解决方案。

4

1 回答 1

2

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

[AutoMapper(typeof(List<Test>), typeof(List<TestViewModel>)]
于 2012-04-09T05:38:42.560 回答