微软官方文档:https://docs.microsoft.com/zh-cn/ef/core/get-started/aspnetcore/existing-db
1.创建一个core mvc项目
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
-- Sql Server数据库版本:
Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
3.同样在NuGet控制台中执行命令:
-- Mysql数据库:
Scaffold-DbContext "server=.;userid=xxx;pwd=xxx;port=3306;database=xxx;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force 或者 Scaffold-DbContext "server=.;userid=xxx;pwd=xxx;port=3306;database=xxx;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -UseDatabaseNames -Force
-- Sql Server数据库:
// Data Source填写登录数据库时候的服务器名称叭 Scaffold-DbContext "Data Source=DESKTOP-JFK9IBN;Initial Catalog=Blogging;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
-- 参数说明:
-OutputDir *** 实体类生成后存放的文件夹
Scaffold-DbContext "Data Source=DESKTOP-JFK9IBN;Initial Catalog=Blogging;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
-ContextDir *** DbContext文件存放的目录
-Context *** DbContext文件名
-Schemas *** 需要生成实体数据的数据表所在的模式
-Tables *** 需要生成实体数据的数据表的集合(更新莫个表,有坑慎用吧,要么全部覆盖重新生成,要么手动写吧,加字段之类的)
Scaffold-DbContext "Data Source=DESKTOP-JFK9IBN;Initial Catalog=Blogging;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -tables Blog
-DataAnnotations
-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)
-Force 强制执行,重写已经存在的实体文件(覆盖当前文件夹下已经存在的实体类)
Scaffold-DbContext "Data Source=DESKTOP-JFK9IBN\YANG;Initial Catalog=Blogging;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
4.可能出现的错误:
Your startup project 'FramewDom' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again. 错误详情:启动项目缺少这个依赖 解决: 方案①:在对应项目的管理NuGet程序包下重新安装Microsoft.EntityFrameworkCore.Design,重新生成解决方案 方案②:在启动项目里边执行一下这个两个命令 Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
成功后在Models文件夹下生成的实体类:
5.实体类成功后就能使用EF了,跟着官方文档走就好了