您现在的位置是:首页 > 编程 > 

dotnet scaffold – .ET 的下一代内容创建

2025-07-21 18:33:38
dotnet scaffold – .ET 的下一代内容创建 作者:Sayed Ibrahim Hashimi排版:Rani SunVisual Studio 中为ASP.ET Core 项目搭建脚手架是一项长期特性,是在 ASP.ET Core 发布后不久添加的。多年来,我们一直支持从命令行搭建脚手架。根据从命令行操作中获得的用户反馈,我们了解到用户需要一种交互式的命令行界面(CLI)体验

dotnet scaffold – .ET 的下一代内容创建

作者:Sayed Ibrahim Hashimi

排版:Rani Sun

Visual Studio 中为ASP.ET Core 项目搭建脚手架是一项长期特性,是在 ASP.ET Core 发布后不久添加的。多年来,我们一直支持从命令行搭建脚手架。根据从命令行操作中获得的用户反馈,我们了解到用户需要一种交互式的命令行界面(CLI)体验来进行脚手架操作。为了实现这一目标,我们一直在开发一种新的交互式 CLI 工具 dotnet scaffold。此 CLI 工具现已发布预览版。在本文中,我们将介绍如何获取和使用这个新的命令行工具。此工具是开源的,您可以在 scaffold 存储库 中查看代码。该存储库包含 dotnet scaffold 工具的代码以及其他与脚手架相关的代码。

scaffold 存储库

安装 dotnet scaffold

若要安装此工具,我们将使用 dotnet tool 命令。执行以下命令以安装最新发布的版本。

代码语言:javascript代码运行次数:0运行复制
dotnet tool install --global Microsoft.dotnet-scaffold

若要安装特定版本,请访问 nuget 上的软件包 。有关如何管理 dotnet 工具的更多信息,请参阅 .ET 工具 – .ET CLI | Microsoft Learn 上的文档。在上面的命令中,我们全局安装该工具,但是您也可以在本地文件夹中安装工具。.ET 工具文档包含有关这两种方法的更多信息 .ET 工具 – .ET CLI | Microsoft Learn。

访问 nuget 上的软件包

.dotnet-scaffold

.ET 工具 – .ET CLI | Microsoft Learn

.ET 工具 – .ET CLI | Microsoft Learn

使用 dotnet scaffold

默认情况下,dotnet scaffold 是一个交互式工具,这意味着您调用它时,它会根据需要,提示您输入信息。为了实现自动化,您可以传入所有参数值,我们将在以后的文章中讨论这个问题。在运行 dotnet scaffold 之前,请确保将目录 (cd) 更改为 .ET Core 项目所在的文件夹。dotnet scaffold 支持以下 ASP.ET Core 项目类型。

  • Web app
  • Web API
  • .ET Aspire
  • Blazor

在这篇文章中,我们将重点介绍 Web 应用程序选项,向您介绍 dotnet scaffold,但所有 scaffolders 都遵循相同的模式和提示。

我使用 dotnet new 命令 dotnet new webapp -o MyWebApp 创建了一个新的 ASP.ET Core 9 Web 应用程序。然后我使用 cd 切换到该目录。运行 dotnet scaffold 时,系统会提示您选择脚手架类别。请参阅下面的屏幕截图。

在上图中,dotnet scaffold 显示了当前支持的脚手架类别列表。若要浏览此菜单,您可以使用键盘上的上和下箭头键来选择所需的类别。将来,随着我们添加更多脚手架,可能这个菜单中会出现更多类别。在这里,您可以选择想要生成到项目中的类别。例如,让我们探索 Razor Pages 选项。若要选择一个类别,请导航到该类别并输入 Return。这将带您进入选定的选项。如果您选择了错误的选项,您可以随时使用导航下的“Return”返回上一个选择。输入 Razor Pages 选项后,您将看到以下选项。

现在,dotnet scaffold 提示应调用特定的脚手架。在这种情况下,我们看到两个选项,第一个选项是创建一个新的空 Razor 页面。第二个选项将基于项目的模型类生成 Razor 页面。使用 Entity Framework 将值保存到所选的数据库提供程序中。让我们首先运行空脚手架,然后运行 CRUD 脚手架。空脚手架将生成一个带有关联代码文件的新 Razor 页面。这相当于运行 dotnet new page。生成的文件将没有任何自定义内容。

当您选择“Razor Page – Empty”选项时,按下回车键进入该选项。之后,系统将提示您选择目标项目。

在本例中,我们只有一个选项,因此我们将选择 MyWebApp 并按下回车键。然后它将提示我们输入要创建的 Razor 页面的名称。将其命名为 About 并按下回车键。您将看到命令正在运行,然后您应该会看到下面的结果。

完成此操作后,您应该会在当前工作目录中看到文件 和 .cs。在运行此脚手架时,它将使用当前目录作为输出位置。现在让我们继续看看 Razor Page EF 选项的工作原理。

在调用 EF 脚手架之前,您需要一个模型类来为其搭建内容。我使用与之前相同的命令 dotnet new webapp -o MyWebApp 创建了一个新的 Web 应用程序,并在项目的根目录中添加了以下类。

代码语言:javascript代码运行次数:0运行复制
namespace MyWebApp;

public class Contact
{
    public int Id { get; set; }

    public string? Firstname { get; set; }

    public string? Lastname { get; set; }

    public string? Email { get; set; }
}

这是一个非常基本的模型类,可以与 Entity Framework 一起使用。现在我们准备调用 dotnet scaffold。启动后,选择 Razor Pages 类别,然后选择 Razor Pages with Entity Framework (CRUD) 选项。它会提示您选择项目,由于本例中只有一个项目,您可以按下 Enter 键,因为它已被选中。接下来,dotnet scaffold 将提示您选择模型类,如下所示。

选择联系人并按下回车键继续。接下来的屏幕将提示您输入数据库上下文的名称。在本例中,将其命名为 ContactDbContext 并按下回车键。根据惯例,建议此值以 DbContext 结尾,但这不是必需的。参见下图。

按下回车键后,系统将提示您选择数据库提供程序。

以下列表总结了该屏幕上的选项。

  • npgsql-efcore = PostgreSQL
  • sqlserver-efcore = SQL Server
  • sqlite-efcore = SQLite
  • cosmos-efcore = Cosmos DB

为了简单起见,我们将选择 sqlite-efcore 选项。SQLite 是一个基于文件的数据库,没有任何外部依赖项。选择该选项并按下回车键。系统将提示您选择应执行哪些操作。参见下图。

您可以选择要创建的单个项目,也可以选择 CRUD 选项来构建整个项目的页面。选择 CRUD 选项。接下来,系统会提示您是否要包含预发布包。由于我们正在使用 .ET 9 预览版,因此选择 Yes,然后按下回车键。之后,构建操作将开始。您将看到一个微调器显示它正在运行,并且它会发出正在进行的操作的消息。完成后,您应该会看到类似于以下屏幕截图的结果。

执行此操作后,将对项目应用以下更改。

  • 项目文件为 Entity Framework 添加了包引用
  • 已更新,用于初始化数据库连接
  • appsettings.json 已更新连接信息
  • 已创建并添加到项目根目录
  • 用于 CRUD 操作的 Razor Pages 已添加到 Pages 文件夹中

内容已生成,但数据库尚未初始化。为了准备数据库,我们需要迁移,然后更新数据库。使用以下命令执行此操作。

  • dotnet ef migrati add initialMigration o这将添加一个名为 initialMigration 的新迁移。您可以在此处为其指定任何您喜欢的名称。
  • dotnet ef database update o这将把迁移应用于数据库

在运行这些命令后,您就可以使用 dotnet run 命令运行应用程序了。应用程序启动后,URL 将显示在终端中,在浏览器中打开该 URL,并在 URL 末尾添加 /ContactPages。您应该会看到类似以下内容。

使用此页面,您可以创建新联系人并管理现有联系人。添加一些联系人后,它们将显示在此页面上,如下所示。

现在您有一个可以管理联系人列表的 ASP.ET Core Razor Pages Web 应用。搭建完成后,您可能希望自定义生成的内容以满足您的需求。在开发应用时,您可以使用 dotnet scaffold 生成其他内容。

本文参与 腾讯云自媒体同步曝光计划,分享自。原始发表:2025-01-16,如有侵权请联系 cloudcommunity@tencent 删除系统数据库存储工具模型

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1174001.html

相关标签:无
上传时间: 2025-07-21 13:27:55
留言与评论(共有 7 条评论)
本站网友 7个月的宝宝吃什么辅食
23分钟前 发表
您应该会看到类似以下内容
本站网友 保湿霜
23分钟前 发表
请确保将目录 (cd) 更改为 .ET Core 项目所在的文件夹
本站网友 关于性
1分钟前 发表
系统将提示您选择数据库提供程序
本站网友 编程中国
23分钟前 发表
提示您输入信息
本站网友 pdf分割合并工具
1分钟前 发表
我们将在以后的文章中讨论这个问题
本站网友 英文昵称
4分钟前 发表
本文参与 腾讯云自媒体同步曝光计划