net core中创建实体(DB First)

微软官方文档: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
View Code

-- Sql Server数据库版本:

Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
View Code

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
View Code

-- Sql Server数据库:

// Data Source填写登录数据库时候的服务器名称叭
Scaffold-DbContext "Data Source=DESKTOP-JFK9IBN;Initial Catalog=Blogging;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
View Code

-- 参数说明:

-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了,跟着官方文档走就好了

 

转载于:https://www.cnblogs.com/yangzhuanzheng/articles/11459238.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值