1 回答

TA貢獻1826條經驗 獲得超6個贊
我建議更新 automapper 行以轉換為 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>
- 1 回答
- 0 關注
- 121 瀏覽
添加回答
舉報