// 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类型。
这可能有一个简单的答案,但是花了最后两个小时试图让它工作,所以非常感谢有人指点我的解决方案。
答案 0 :(得分:2)
我从您的描述中不清楚您是否更改了AutoMapper属性以包含列表:
[AutoMapper(typeof(List<Test>), typeof(List<TestViewModel>)]