写在前面


在前一小节中,我们创建了基于RESFULL风格的服务。这个小节,尝试使用CodeFirst+MySql 的方式实现数据迁移。

一、开发环境


【1】运行环境:win10 家庭版

【2】开发工具:Visual Studio 2019 16.3.10

【3】数据库:MySql 8.0.0

二、创建项目


【1】从文件菜单中选择新建 >项目 将项目命名为 TodoApi 然后单击创建。 如图所示:

【2】选择ASP.NET Core Web 应用程序模板 再单击下一步

【3】在创建新的 ASP.NET Core Web 应用程序对话框中,确认选择.NET CoreASP.NET Core 3.0。选择API模板,然后单击创建。如图所示:

【4】最后,创建成功。如下图所示:

三、安装包


要使用.NET CORE 3.0 + CodeFirst+ MySql 实现数据库必须要在项目中安装以下的包:

注意:一个也不能少!!!一个也不能少!!!一个也不能少!!!

【1】选择工具->NuGet包管理器->NuGet程序包。 如图所示:

【2】搜索Microsoft.EntityFrameworkCore的版本,安装3.0.1的版本。所图所示:

【3】搜索Microsoft.EntityFrameworkCore.Design的版本,安装3.0.1的版本。所图所示:

【4】搜索Microsoft.EntityFrameworkCore.Tools的版本,安装3.0.1的版本。所图所示:

【5】搜索Pomelo.EntityFrameworkCore.MySql的版本,安装3.0.0的版本。所图所示:

三、创建实体


在项目中创建TodoItem

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; namespace TodoApi
{
public class TodoItem
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
}
}

四、创建上下文类


注意:创建上下类时,使用DbContext的接口 需要引用using Microsoft.EntityFrameworkCore

using Microsoft.EntityFrameworkCore;

namespace TodoApi
{
public class TodoContext:DbContext
{
public TodoContext(DbContextOptions<TodoContext> options) : base(options) { }
public DbSet<TodoItem> todoItems { get; set; }
}
}

五、配置连接字符串


//应用程序配置文件,类似于ASP.NET MVC应用程序中的Web.config配置文件
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"MqStr": "Data Source=localhost;port=3306;database=todoapi;User Id=root;Password=root"
}
}

六、使用依赖注入将上下文注册为服务


打开Startup.cs类 找到ConfigureServices服务,使用依赖注入将上下文注册为服务

public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
var mqstr = Configuration.GetConnectionString("MqStr");
services.AddDbContext<TodoContext>(ops=> ops.UseMySql(mqstr));
}

注意:使用UseMySQL时,需要引用using Microsoft.EntityFrameworkCore

七、迁移并创建数据库


使用操作命令迁移或者创建数据库

【1】在工具->NuGet 包管理器>程序包管理器控制台 执行以下命令:Add-Migration mydata 执行成功后,在项目中生成Migrations的文件夹。如下图所示:

【2】然后,在控制台输入Update-Database 更新数据库的命令。如下图所示:

【3】最后,我们打开Navicat Premium工具 连接MySql 数据库。若创建成功,如下图所示:

写在最后


以上实例,都是经过本人亲自测试可行的哟。对于,小白入门来说还是挺适合的。(ps:毕竟本人也是一个菜鸟)

如若其中有误的地方,请给我留言。我会尽快的认真的回复与修正错误的。

谢谢~~今天就分享到这里(mark:最后撰稿时间:2019-11-30 02:07:00)。

参考文档1

最新文章

  1. Cordova环境搭建 &amp; HelloWorld
  2. opencv 抠图联通块(c接口)
  3. 跨服务器的session共享
  4. jquery.form.js表单插件的使用
  5. CSS系列:less备忘
  6. 在客户环境定位.net程序异常
  7. VS发布网站步骤(先在vs上发布网站到新的文件夹,然后挂到iis上面)
  8. XJOI1689相连的城市
  9. video标签
  10. js将某个值转换为String字符串类型或转换为Number数字类型
  11. 【二代示波器教程】第12章 示波器设计—DAC信号发生器的实现
  12. Kubernetes之存储
  13. excle 内部 超链接(锚点)
  14. Go学习笔记04-函数
  15. halcon批量读取图片
  16. oracle order by 排序
  17. [学习笔记]平衡树(Splay)——旋转的灵魂舞蹈家
  18. Spring MVC 实现跨域资源 CORS 请求
  19. React Native 快速入门之认识Props和State
  20. 菜鸟也能学cocos2dx3.0 浅析刀塔传奇(下)

热门文章

  1. cross validation交叉验证
  2. pandas 之 datetime 初识
  3. 还是畅通工程 HDU - 1233
  4. linux (01) linux基础
  5. 201871010108-高文利《面向对象程序设计(java)》第四周学习总结
  6. python在windows系统上创建文件
  7. python的开发工具pycharm安装及激活
  8. AtCoder Grand Contest 037题解
  9. [LeetCode] 730. Count Different Palindromic Subsequences 计数不同的回文子序列的个数
  10. [LeetCode] 236. Lowest Common Ancestor of a Binary Tree 二叉树的最小共同父节点