在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型

        在ASP.NET Core下使用EF Core读取和操作数据库时,若采用DB First开发模式,则需要手动写或者自动生成相关实体类和DBContext类。自动生成可采用Scaffold-DbContext命令。而使用该命令需要在实体类所在项目引用Microsoft.EntityFrameworkCore.Tools包和MySql.Data.EntityFrameworkCore包(MySQL引用该包,其它数据库引用相应的其它对应包)。

(1)在VS菜单中依次点击“视图”/“其它窗口”/“程序包管理控制台”,打开程序包管理控制台:

QQ截图20210507142133.png

(2)在程序包管理控制台中输入如下命令:

QQ截图20210507142652.png

Scaffold-DbContext -Force -Connection "{ConnStr}" -Provider MySql.Data.EntityFrameworkCore -OutputDir . -Context SUSEAluminDbContext -DataAnnotations -UseDatabaseNames

其中{ConnStr}请用数据库连接字符串替换,“默认项目”处请选择要生成实体类的项目。

(3)Scaffold-DbContext数据库上下文脚手架命令格式如下:

Scaffold-DbContext [-Connection] <String> [-Provider] <String> [-OutputDir <String>] [-Context <String>] 
[-Schemas <String>] [-Tables <String>] [-DataAnnotations] [ -Force] [-Project <String>] 
[-StartupProject <String>] [-Environment <String>] [<CommonParameters>]

参数解释如下:
-Connection <String> 
指定数据库的连接字符串。

-Provider <String> 
指定要使用的提供程序。例如,Sql Server使用Microsoft.EntityFrameworkCore.SqlServer、MySql使用MySql.Data.EntityFrameworkCore等。

-OutputDir <String> 
指定用于输出类的目录。如果省略,则使用当前项目根目录。

-Context <String> 
指定生成的DbContext类的名称。

-Schemas <String> 
指定要为其生成类的模式,如dbo等。

-Tables <String> 
指定要为其生成类的表。

-DataAnnotations [<SwitchParameter>] 
使用DataAnnotation属性在可能的情况下配置模型。如果省略,输出代码将仅使用流畅的API。

-Force [<SwitchParameter>] 
强制脚手架覆盖现有文件。否则,只有在没有输出文件被覆盖的情况下,代码才会继续。

-Project <String> 
指定要使用的项目。如果省略,则使用默认项目。

-StartupProject <String> 
指定要使用的启动项目。如果省略,则使用解决方案的启动项目。

-Environment <String> 
指定要使用的环境。如果省略,则默认值为“Development”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值