添加EFCore包
选择解决方案,点击右键,选择管理解决方案的NuGet程序包
分别安装Microsoft.EntityFrameworkCore.SqlServer(核心包)和Microsoft.EntityFrameworkCore.Tools(迁移命令执行包)
勾选当前项目,点击安装
查看显示已安装即可
创建两个文件夹Data(存放数据库上下文)和Models(存放实体类)
在Models(存放实体类)文件夹下创建一个名为Category分类的实体类
在实体类中添加字段
namespace shopingPro.Models
{
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
}
}
在Data(存放数据库上下文)文件夹下创建ShopDbContext实体类
这里的目的是通过CodeFirst(代码优先)进行指令迁移生成相应数据库
CodeFirst、DBFirst与ModelFirst区别
using Microsoft.EntityFrameworkCore;
using shopingPro.Models;
namespace shopingPro.Data
{
//将上下文类继承自DbContext,相当于数据库
public class ShopDbContext : DbContext
{
//创建构造函数,将ShopDbContext配置到DbContextOptions中,并将参数传递到DbContext中去
//base():父类传递参数方法
public ShopDbContext(DbContextOptions<ShopDbContext> options) : base(options)
{
}
//添加Dbset属性,相当于创建表
public DbSet<Category> Categories { get; set; }
}
}
编写完数据库上下文类后,去appsettings.json文件中配置数据库链接
连接字符串的分类有以下几种:
数据库连接字符串各部分书写方式:
服务器名称:Data Source=服务器名称;/ server=服务器名称;/ addr=服务器名称;
数据库名称:database=数据库名称;/ initial catalog=数据库名称;
安全信息:trusted_connection=true;Integrated Security=false;
属性:MultipleActiveResultSets=true;
示例:
服务器名称 + 数据库名称 + 安全信息 + 属性
string ShopConn =@"Data Source=.;database=ShopDb;
trusted_connection=true;MultipleActiveResultSets=true;
Encrypt=true;TrustServerCertificate=true"
"ConnectionStrings": {
"ShopConn": "Data Source=.;database=ShopDb;trusted_connection=true;MultipleActiveResultSets=true;Encrypt=true;TrustServerCertificate=true"
},
还需要去Program注册一下
//注册数据库上下文
builder.Services.AddDbContext<ShopDbContext>(option =>
{
//拿到连接字符串
option.UseSqlServer(builder.Configuration.GetConnectionString("ShopConn"));
});
下面可以开始进行迁移操作啦!
打开工具 => NuGet包管理器 => 程序包管理控制台
输入生成迁移指令
add-migration + 迁移文件夹名称
创建成功后输入更新数据库指令
update-database
迁移成功后打开数据库刷新