Web API 2 添加Models and Controllers Part 2.

在方案中找到Models文件夹,右键添加类,命名为Author。

Author.cs 替换以下代码

C#
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace BookService.Models
{
    public class Author
    {
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
    }
}

添加另一个类名Book,如下代码

C#
using System.ComponentModel.DataAnnotations;

namespace BookService.Models
{
    public class Book
    {
        public int Id { get; set; }
        [Required]
        public string Title { get; set; }
        public int Year { get; set; }
        public decimal Price { get; set; }
        public string Genre { get; set; }

        // Foreign Key
        public int AuthorId { get; set; }
        // Navigation property
        public Author Author { get; set; }
    }
}

实体框架将使用这些模型来创建数据库表。对于每个模式,Id属性将成为数据库表的主键列。

Book类,AuthorId向Author表定义外键。(为简单起见,假设每一本书都有一个单独的作者。)这本书类还包含一个导航属性相关的作者。您可以使用导航属性访问作者的相关代码。

添加 Web API Controllers

在本节中,我们将添加Web API控制器支持CRUD操作(创建、读取、更新和删除)。控制器将使用实体框架与数据库通信层。

首先,你可以删除文件Controllers/ValuesController.cs。这个文件包含一个示例Web API控制器,但是对于本教程中你不需要它。

 

在解决方案资源管理器中,右键单击控制器文件夹。选择Add,然后选择控制器。

In the Add Scaffold dialog, select "Web API 2 Controller with actions, using Entity Framework". Click Add.

单击添加完成对话框添加控制器。对话框将两类添加到您的项目:

AuthorsController定义了Web API控制器。客户使用的控制器实现了REST API的作者列表上执行CRUD操作。
BookServiceContext管理实体对象在运行时,其中包括填充对象与数据从一个数据库,更改跟踪,数据持久化到数据库中。它从DbContext继承。

确认都已选择好,点击add

原文地址:https://www.cnblogs.com/Javi/p/6410434.html