
前言小明已经创建与运行了WebApi项目,了解项目结构有哪些组成,并学会了怎么发布到IIS。基础已经建好,从现在开始要真正实现待办事项的功能了。新建表CREATE TABLE [dbo].[Todo]( [Id] [uniqueidentifier] NOT NULL, [Name] [nvarchar](100) NULL, CONSTRAINT [PK_Todo] PRIMARY KEY CLUSTERED ( [Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]GO

添加模型类在“解决方案资源管理器”中,右键单击项目。 选择“添加” > “新建文件夹”。 将文件夹命名为 Models。右键单击 Models 文件夹,然后选择“添加” > “类” 。 将类命名为 Todo,然后选择“添加”。using System;namespace App001.Models{ public class Todo { public Guid Id { get; set; } public string Name { get; set; } }}添加数据库上下文右键单击 Models 文件夹,然后选择“添加” > “类” 。 将类命名为 TodoContext,然后单击“添加”。using Microsoft.EntityFrameworkCore;namespace App001.Models{ public class TodoContext : DbContext { public TodoContext(DbContextOptions options) : base(options) { } public DbSet Todos { get; set; } }}注册数据库上下文在 ASP.NET Core 中,服务(如数据库上下文)必须向依赖关系注入 (DI) 容器进行注册。 该容器向控制器提供服务。在Startup.cs文件中增加services.AddDbContext,代码如下:public void ConfigureServices(IServiceCollection services){ services.AddDbContext(opt =>opt.UseSqlServer(Configuration.GetConnectionString("TodoContext"))); services.AddControllers();}在appsettings.json文件中增加ConnectionStrings,代码如下:"ConnectionStrings": { "TodoContext": "server=.\\SQLEXPRESS;database=App001;uid=sa;pwd=123456;Pooling='true';Min Pool Size=3;"},构建控制器,实现增删改查右键单击 Controllers 文件夹。选择“添加”>“新建构建项” 。选择“其操作使用实体框架的 API 控制器”,然后选择“添加” 。在“添加其操作使用实体框架的 API 控制器”对话框中:在“模型类”中选择“Todo (App001.Models)” 。在“数据上下文类”中选择“TodoContext (App001.Models)” 。选择“添加”。

通过 Postman 测试 添加新项创建新请求。将 HTTP 方法设置为“POST”。将请求 URI 设置为 https://localhost:44342/api/todos。选择“正文”选项卡。选择“原始”单选按钮。将类型设置为 JSON (application/json)在请求正文中,输入待办事项的 JSON:{ "Name":"遛狗"}选择Send。
