EF CORE DBFirst
DBFirst :先设计好数据库,再从数据库映射到程序
一、首先需要NuGet导入几个程序包
1、Sql server:
Install-package Microsoft.EntityFrameworkCore
Install-package Microsoft.EntityFrameworkCore.Tools
Install-package Microsoft.EntityFrameworkCore.Design
Install-package Microsoft.EntityFrameworkCore.SqlServer
Install-package Microsoft.EntityFrameworkCore.SqlServer.Design
2、Mysql:
Install-Package MySql.Data.EntityFrameworkCore -Pre
Install-Package Pomelo.EntityFrameworkCore.MySql
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
二、在程序包管理器控制台执行命令
调出控制台:工具-NuGet工具包管理器-程序包管理器控制台-输入
1、Sql server:
Scaffold-DbContext "server=.;database=;uid=;pwd=;" Microsoft.EntityFrameworkCore.SqlServer -Project "Abn.Models" -Output School -F -UseDatabaseNames
2、Mysql:
Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force
或者
Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -UseDatabaseNames -Force
解读:server:本地sql登录的服务器id地址
database:数据库名称
ued:sql登录账号
pwd:sql密码
Project:项目名称(解决方案下面新建一个类库项目)
Output:实体文件所存放的文件夹
F:force的缩写,强制更新,重写已经存在的实体文件
UseDatabaseNames:直接使用数据库中的表名和列名(某些版本不支持)
三、Net 5 中更新(.NET Core CLI)
1、在程序包管理控制台安装 dotnet ef
dotnet tool install --global dotnet-ef
2、cd到数据模型存放目录
cd Abn.Models
3、执行更新命令
dotnet ef dbcontext scaffold "server=;database=;uid=;pwd=;" Microsoft.EntityFrameworkCore.SqlServer -o School -f --use-database-names --no-pluralize
未完待续。。。