Я бы предложил обновить строку Autopper для преобразования в List вместо интерфейса IEnumerable, чтобы вы могли убедиться, что модель представления материализована в контроллере.Это очевидно, если смотреть на код репозитория, но только если вы видите, что репозиторий возвращает IEnumerable.
Основные изменения, приведенные ниже, заключаются в том, чтобы обеспечить соответствие AutoMapper списку объектов модели представления и получение представлениямодель, составленная из списка этих объектов модели представления.Я предположил, что объект CarsVM является экземпляром модели представления одного объекта Cars.
Репозиторий
public class MyRepository
{
public async Task<List<Cars>> GetAllCarsAsync()
{
return await _RepositoryContext.Set<Cars>().ToListAsync();
}
}
Контроллер
public class MyController: Controller
{
[HttpGET]
public async Task<IActionResult> Create()
{
var car = await _MyRepository.GetAllCarTypesAsync();
var model = _mapper.Map<List<CarsVM>>(car);
return View(model);
}
}
Просмотр
@model List<DataLayers.Models.ViewModels.CarsVM>
<form asp-controller="MyController" asp-action="Create">
<label class="label" asp-for="Carname"></label>
<input class="input" type="text" asp-for="Carname">
<select>
<option> A carType </option>
<option>A carType </option>
</select>
</from>