• 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

  • 相关阅读:
    处理视频流时可能出现的重复帧问题及解决办法
    shell脚本中cd命令无效
    C++教程之初识编程
    若干排序算法的Python实现方法及原理
    C/C++反三角函数使用注意
    ubuntu下安装pip install mysqlclient 报错 command "python setup.py egg_info" failed with error.....解决方案
    使用scrapy框架的monkey出现monkeypatchwarning: monkey-patching ssl after ssl...的解决办法
    机器学习之利用KNN近邻算法预测数据
    python数据分析的工具环境
    python代码实现经典排序算法
  • 原文地址:https://www.cnblogs.com/Javi/p/6410434.html
Copyright © 2020-2023  润新知