WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore

1、 添加Webapi项目

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第1张图片WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第2张图片2、 删除IIS Express,使用自带编辑器运行webapi项目成功

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第3张图片

 WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第4张图片

3、Nuget下载EFCore相关包 

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第5张图片

若使用的是SQLServer数据库就要下载EFCore的SQLServer包 

 4、新建之前WPF界面有关的实体类基类BaseEntity.cs,待办事项类ToDo.cs,备忘录类Memo.cs

/// 
    /// 基类
    /// 
    public class BaseEntity
    {
        /// 
        /// Id
        /// 
        public int Id { get; set; }
        /// 
        /// 创建时间
        /// 
        public DateTime CreateDate { get; set; }
        /// 
        /// 更新时间
        /// 
        public DateTime UpdateDate { get; set; }
    }
/// 
    /// 待办事项类
    /// 
    public class ToDo : BaseEntity
    {
        /// 
        /// 标题
        /// 
        [MaxLength(50)]
        public string Title { get; set; }
        /// 
        /// 内容
        /// 
        [MaxLength(500)]
        public string Content { get; set; }
        /// 
        /// 状态
        /// 
        public int Status { get; set; }
    }
/// 
    /// 备忘录类
    /// 
    public class Memo : BaseEntity
    {
        /// 
        /// 标题
        /// 
        [MaxLength(50)]
        public string Title { get; set; }
        /// 
        /// 内容
        /// 
        [MaxLength(500)]
        public string Content { get; set; }
    }
/// 
    /// 用户类
    /// 
    public class User:BaseEntity
    {
        /// 
        /// 账号
        /// 
        [MaxLength(50)]
        public string Account { get; set; }
        /// 
        /// 用户名
        /// 
        [MaxLength(50)]
        public string UserName { get; set; }
        /// 
        /// 密码
        /// 
        [MaxLength(50)]
        public string PassWord { get; set; }
    }

5、创建数据库上下文操作类MyDbContext.cs,继承DbContext

public class MyDbContext:DbContext
    {
        /// 
        /// 添加实体类
        /// 
        public DbSet Users { get; set; }
        public DbSet Memos { get; set; }
        public DbSet ToDos { get; set; }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);//获取DbContext类的程序集
        }
        /// 
        /// 构造函数
        /// 
        /// 
        public MyDbContext(DbContextOptions options):base(options)
        {

        }
    }

6、appsettings.json配置数据库连接字符串:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DbConnectionString": "Data Source=.;Initial Catalog=MyToDoDb;User Id=sa;Password=12359471;"
  }
}

7、在program.cs中添加数据库上下文服务 

//添加数据库上下文服务
builder.Services.AddDbContext(options =>
{
    string DbConnectionstring = builder.Configuration.GetConnectionString("DbConnectionString");
    options.UseSqlServer(DbConnectionstring);
});

8、下面就是数据库迁移,通过Add-Migration、Update-Database命令迁移数据库。注:迁移的时候要选中EFCore项目,不然会报错。 

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第6张图片

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第7张图片

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第8张图片

 9、数据库迁移成功!

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第9张图片

WPF实战项目九(API篇):创建WebApi项目,数据库迁移,EFCore_第10张图片

 注:webApi框架方面的有兴趣的可以主页看我.netcore webApi框架的搭建,采用仓储+服务+接口的形式封装框架,里面包含了JWT、日志、SqlSugar、swagger集成、依赖注入、docker等等。

你可能感兴趣的:(WPF,.netcore,wpf,数据库,架构,后端,asp.net,c#)