Mastering Entity Framework Core 2.0
上QQ阅读APP看书,第一时间看更新

Performing CRUD operations

We have already seen how to create CRUD operations right from scaffolding controllers to their corresponding views for the Blog model, so we will create them for the Post model in this section:

  1. Right-click on the Controllers folder and select Add | New Scaffolded Item.
  2.  Add Scaffold dialog box, select MVC Controller with views, using Entity Framework:
  1. In the Add Controller dialog box, select the appropriate Model class and Data Context class (Post and MasteringEFCoreDbFirstContext in our case) along with the auto-generated controller name, PostsController:
  1. Next click Add as shown in the following screenshot:

Scaffolded items

The Blog URL should be displayed instead of the Blog ID, which was part of the scaffolding. As displaying the ID raises security issues and usability concerns, let's change this mapping to URL.

Let's start our changes from the Index.cshml file, where we have listed Blog.Id instead of Blog.Url

    @foreach (var item in Model) {
<tr>
...
<td>
//@Html.DisplayFor(modelItem => item.Blog.Id)
@Html.DisplayFor(modelItem => item.Blog.Url)
</td>
</tr>
}

The changes are reflected on the screen, where we can see Blog URLs rendered instead of the IDs that were listed before:

Posts list view

We have scaffolded CRUD operations and modified Blog ID usage to URLs in the Post index action. Let's update the same on the other actions as well.