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

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

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

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

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

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

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

分享给朋友:

“在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型” 的相关文章

在线支付子模块的设计与实现

在线支付子模块的设计与实现

        一个在线交易系统需要各种支付方式方便客户付款,这些支付方式按场景可分为在线支付和线下现付。线下现付常见的有货到付款、邮局汇款、银行电汇等非实时方...

Java相关的一些名词

Java相关的一些名词

Java语言:一种程序设计语言,版本号从1.0到1.4,从1.5起版本号变更为5、6、……;JDK版本号、Java平台版本号类同。Java平台:1998年12月发布JDK 1.2后,Java从与平台无关的语言变成Java 2平台,分为三个版...

Android开发从新手开始(一)——概述

Android开发从新手开始(一)——概述

前言        做为一个程序员,不应该将自己限定在自己熟悉的平台和语言上,而也应该多去了解一下其它平台和语言。这样可以吸取各个平台和语言的思想,提升自己解决...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

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

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

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

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

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

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

发表评论

访客

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