当前位置:首页 > 技术积累 > 正文内容

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

竹林之风4年前 (2020-06-24)技术积累2654

        在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”。


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:http://9icode.com/index.php/post/41.html

分享给朋友:

相关文章

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

实现内网穿透的几种方式

实现内网穿透的几种方式

        大部分普通电脑对外都没有固定的公网IP、或处于NAT网络内,要从局域网外直接访问该电脑,需要借助第三方工具。一、有一台公网固定IP服务器的情况1、Nginx&nbs...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。