codefirst和databasefirst操作

分类: NetCore

database-first

加入nuget包

  1. <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"></PackageReference>

执行命令,从database生成DbContext

sqlserver

  1. Scaffold-DbContext "Server=.,1433;Database=NigelDB;User Id=sa;Password=sasasa" Microsoft.EntityFrameworkCore.SqlServer -o Models -f

mysql

  1. Scaffold-DbContext "server=.;port=3306;database=nigeldb;uid=sa;pwd=sasasa;" Pomelo.EntityFrameworkCore.Mysql -o Models -f

code-first

加入nuget包

  1. <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"></PackageReference>

第一步:启动迁移

  1. Enable-Migrations

第二步:初步创建迁移

如果每次模型结构有变更,都需要使用Add-Migration来创建版本变更

  1. Add-Migration NigelDbCreate

NigelDbCreate 为自己定义名字

如果出现如下错误

Both Entity Framework 6 and Entity Framework Core are installed. The Entity Framework 6 tools are running. Use ‘EntityFrameworkCore\Add-Migration’ for Entity Framework Core.

使用下面方式创建

  1. EntityFrameworkCore\Add-Migration NigelDbCreate

第三步:

  1. update-database

或者

  1. update-database -verbose

如果出现错误,请使用这个命令

  1. EntityFrameworkCore\update-database

第四步:

在DbConext中加入 base.Database.Migrate(); 进行自动创建

程序在启动的时候自动同步结构

标签: NetCore

上一篇: netcore linux环境部署和守护进程

下一篇: netcore web api 签名封装(中间件统一签名&方法签名)

by 2023-08-07 23:49:08
篇笔记

学习笔记