8、EFCore添加数据库

添加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

迁移成功后打开数据库刷新

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值