*本文根据MS官方示例流程进行一个入门练习,步骤和内容依照官方文档流程进行,基础环境为.netCore + VSCode,终端cmder ,示例项目为TODOAPI
新建学习交流QQ群:1026682857 欢迎有兴趣的朋友 前来一起学习交流。

创建项目

//创建项目
dotnet new webapi -o AspNetCoreWebApiDemo
//使用VSCode打开项目
code AspNetCoreWebApiDemo

//官方文档中 引入了2个额外的组件
//SqlServer的EF组件
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
//内存数据库组件 允许EFCore和内存数据库一起使用
dotnet add package Microsoft.EntityFrameworkCore.InMemory

*具体可查看:https://docs.microsoft.com/zh-cn/ef/core/providers/in-memory/?tabs=dotnet-core-cli

构建后测试
*URL:https://localhost:5001/WeatherForecast
在这里插入图片描述

差异:在项目基础运行测试后发现 项目的大多文件与之前的MVC Demo类似,但是在Startup.cs中有存在差异

endpoints设置差异
*左边是当前Demo的endpoints设置,右边是MVC Demo的endpoints设置 其中的差异目前还未明确

创建Model: TodoItem 并创建和注册DbContext

//Models/TodoItem.cs
namespace AspNetCoreWebApiDemo.Models
{
    public class TodoItem
    {
        public long ID{get;set;}
        public string  Name { get; set; }   
        public bool IsComplete { get; set; }    
        
    }
}
//Data/TodoContext.cs
using AspNetCoreWebApiDemo.Models;
using Microsoft.EntityFrameworkCore;

namespace AspNetCoreWebApiDemo.Data {
    public class TodoContext : DbContext {
        public TodoContext (DbContextOptions<TodoContext> options) : base (options) {

        }

        public DbSet<TodoItem> TodoItems { get; set; }

    }
}
//Startup.cs
public void ConfigureServices(IServiceCollection services)
{
	services.AddDbContext<TodoContext>(options =>  options.UseInMemoryDatabase("TodoList"));
	services.AddControllers();
}

通过基架构建引擎构建Controller

dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet tool install --global dotnet-aspnet-codegenerator
dotnet aspnet-codegenerator controller -name TodoItemsController -async -api -m TodoItem -dc TodoContext -outDir Controllers
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐