Automapper: отсутствует конфигурация TypeMap или неподдерживаемое отображение
// 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 взят отсюда.
Если действие возвращает "Test", оно работает. Если он возвращает "IEnumerable", то этого не происходит (представление изменилось, очевидно, ожидая TestViewModel и IEnumerable). Что я делаю неправильно? Из того, что я понимаю, мне не нужно явно отображать типы списков.
Это, вероятно, простой ответ, но последние два часа он потратил на то, чтобы заставить его работать, поэтому очень хотел бы, чтобы кто-то указал мне на решение.
1 ответ
Решение
Из вашего описания мне не ясно, изменили ли вы атрибут AutoMapper для включения списка или нет:
[AutoMapper(typeof(List<Test>), typeof(List<TestViewModel>)]