一.安装efcore
在NUGET包管理器里搜索并安装如下:
(1)Microsoft.EntityFrameworkCore
(2)Microsoft.EntityFrameworkCore.Design
(3)Microsoft.EntityFrameworkCore.Tools
(4)Pomelo.EntityFrameworkCore.MySql
如图:
二.DBFirst,根据已有的数据库表来自动生成和创建Models。
(1)工具——>NuGet包管理器——>程序包管理器控制台,如图:
(2)执行如下命令:
Scaffold-DbContext "Data Source=192.168.1.209【改为自己数据库服务器地址】;Initial Catalog=test【改为自己数据库的名称】;User ID=crm【改为自己数据库用户名】;Password=123456【改为自己数据库密码】" Pomelo.EntityFrameworkCore.MySql -OutputDir Models【改为打算保存models的文件夹】
(3)执行命令后Models文件夹下会生成数据库的表对应的Model
以及对应调用该数据库efcore的Context类:
(4)修改实体类,执行命令:Scaffold-DbContext -Force "Data Source=192.168.1.209【改为自己数据库服务器地址】;Initial Catalog=test【改为自己数据库的名称】;User ID=crm【改为自己数据库用户名】;Password=123456【改为自己数据库密码】;
charset = 'utf8'; pooling = true; Allow Zero Datetime = True; Allow User Variables=True;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models【改为打算保存models的文件夹】
三.在 Startup.cs 中注册并配置上下文
找到并打开Startup.cs,然后在ConfigureServices函数下添加如下代码来注册
services.AddDbContext<Models.testContext>(
options => options.UseMySQL("Data Source=192.168.1.209;Initial Catalog=test;User ID=crm;Password=123456")
);
这里面的Models.testContext是在第二步中执行命令自动创建的。其余的就是基本设置了。
四.在Controllers中的使用