オブジェクトのリストをコントローラからビューに渡そうとしています。 LINQを使用してデータベースから取得します。モデルコードは以下のとおりである:どのように私はASP.Net MVC5のLinqを使用してデータベースからデータを取得するコントローラからビューのオブジェクトのリストを渡すことができます
public class Department
{
[Key]
public int DepartmentId { get; set; }
[Required(ErrorMessage = "Enter Department Name")]
[DisplayName("Department Name")]
public string DepartmentName { get; set; }
}
[コントローラコード:
@model List<PractiseMVC11_17_2017.Models.Department>
@{
ViewBag.Title = "ShowDepartments";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Show Departments</h2>
<div>
<table class="table table-bordered table-hover">
<tbody>
@foreach (var department in Model)
{
<tr>
<td>
@department.DepartmentId
</td>
<td>
@department.DepartmentName
</td>
</tr>
}
</tbody>
</table>
</div>
}
しかし、私はプロジェクトを実行すると、それは次のことを示しています
public ActionResult ShowDepartments()
{
var departmentList = db.Deapartment.Select(x => new
{
x.DepartmentId,
x.DepartmentName
}).ToList();
return View(departmentList);
}
コードの表示があります例外:
例外の詳細:System.InvalidOperationException:モデルアイテムがdictiに渡されましたonaryは型 'System.Collections.Generic.List 1[<>f__AnonymousType3
2 [System.Int32、System.String]]'ですが、この辞書には 'System.Collections.Generic.List`1というモデル項目が必要です[PractiseMVC11_17_2017.Models。部門]'。