我使用asp.net core
,当我通过linq lambda query
查看我得到这个错误:asp.net核心通LINQ拉姆达查看
An unhandled exception occurred while processing the request.
InvalidOperationException: The model item passed into
the ViewDataDictionary is of type 'System.Collections.Generic.List`1[<>f__AnonymousType7`1[System.Int64]]',
but this ViewDataDictionary instance
requires a model item of type 'System.Collections.Generic.IEnumerable`1[HRMS.Salaries]'.
这是我的查询:
public async Task<IActionResult> Index()
{
var salary = (from salaries in _context.Salaries select new { salaries.Id });
return View(await salary.ToListAsync());
}
,并在查看我使用:
@model IEnumerable<HRMS.Salaries>
@foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
</tr>
}
你选择的ID,但你的观点是expectiong工资本身 –
同意@AdilMammadov。尝试'var salary = _context.Salaries;' – tmg
我同意@AdilMammadov - 展开:您目前只选择一个'IEnumerable'(如果'Id'是一个'int')并将它传递给您的View。您将只需要从查询中选择“工资”,然后将它们传递给您的视图;或者你需要改变你的视图中的'@ model'为'@model IEnumerable ',并显示你的'foreach'循环只有'@item –