如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

本文介绍了如何使用ASP.NET Core 3.0开发Web应用程序,使用Entity Framework Core 3.0命令将其连接到数据库(数据库优先),并使用scaffolding执行CRUD操作(代码生成器)。通过系列操作,开发一个带有基本操作的库存管理示例应用程序。

先决条件

可以使用以下IDE开发.NET Core应用程序:

  • Visual Studio

  • Visual Studio Code

  • Command Prompt

在这里,使用Visual Studio来构建应用程序。请确定依据安装了以下必要的软件:

  • Visual Studio 2019v16.3.0预览2.0

  • NET Core 3.0预览8

  • SQL Server 2017

创建数据库

让我们在本地SQL Server上创建一个数据库。希望您的机器已经安装了SQL Server 2017(也可以使用SQL Server 2008、2012、2016)。

第1步:打开Visual Studio 2019。

步骤2:打开SQL Server对象资源管理器,然后单击“添加SQL Server”。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

△ 添加SQL Server

步骤3:在这里,我们可以选择从本地计算机的SQL Server(通过网络连接)和Azure SQL数据库中进行选择。本文选择了本地SQL Server实例。在提供了SQL Server详细信息后,单击“连接”,SQL Server将在资源管理器中列出。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

△ 建立与数据库服务器的连接

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

△ 解决方案资源管理器中列出的SQL

步骤4:右键单击数据库节点并创建一个新数据库(Inventory)。

第5步:现在有了数据库,单击数据库并选择New Query。

步骤6:对于此应用程序,将创建一个名为Products的表,其中包含基本属性。可将以下SQL查询粘贴到“查询”窗口以创建Products表。

Create Table Products(ProductId BigInt Identity(1,1) Primary Key,Name Varchar(100) Not Null,Category Varchar(100),Color Varchar(20),UnitPrice Decimal Not Null,AvailableQuantity BigInt Not Null,CratedDate DateTime Default(GetDate()) Not null)

步骤7:单击“运行”图标以创建表。现在有了应用程序所需的表。

创建一个ASP.NET核心应用程序

请按照以下步骤创建ASP.NET Core应用程序。

步骤1:在Visual Studio 2019中,单击文件->新建->项目。

第2步:选择“创建新项目”选项。

步骤3:选择ASP.NET Core Web Application模板。

Creating-new-ASP.NET-Core-project.png

步骤4:输入项目名称,然后单击“创建”。

Configuring-the-project.png

步骤5:选择.NET Core和ASP.NET Core 3.0,然后选择Web应用程序(模型-视图-控制器)模板。

取消选中Advanced选项下的HTTPS配置(在开发环境中,不需要SSL)。

点击创建。然后将使用此项目结构创建示例ASP.NET Core应用程序。

Entering-the-project-name.png

安装NuGet包

应该添加以下NuGet包来使用SQL Server数据库和脚手架。在包管理器控制台运行以下命令:

  • 安装包Microsoft.VisualStudio.Web.CodeGeneration.Design-Version 3.0.0-preview8-19413-06。此包有助于生成控制器和视图。

  • 安装包Microsoft.EntityFrameworkCore.Tools -Version 3.0.0-preview8.19405.11。此包有助于从数据库创建数据库上下文和模型类。

  • 安装包Microsoft.EntityFrameworkCore.SqlServer -Version 3.0.0-preview8.19405.11。数据库提供程序允许Entity Framework Core与SQL Server一起使用。

Scaffolding

SP.NET Core有一个名为scaffolding的功能,它使用T4模板生成常用功能代码,以帮助开发人员编写重复代码。我们使用scaffolding执行以下操作:

  • 生成实体POCO类和数据库的上下文类。

  • 使用包含控制器和视图的Entity Framework Core为数据库模型的创建、读取、更新和删除(CRUD)操作生成代码。

连接应用程序和数据库

在程序包管理器控制台中运行以下scaffold命令以对数据库进行反向工程,以从表中创建数据库上下文和实体POCO类。scaffold命令仅为具有主键的表创建POCO类。

Scaffold-DbContext“Server = ABCSERVER; Database = Inventory; Integrated Security = True”Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
  • 连接-设置数据库的连接字符串。

  • Provider-设置用于连接数据库的提供程序。

  • OutputDir-设置要生成POCO类的目录。

在我们的示例中,将创建Products类和Inventory上下文类。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

打开Inventory Context类文件。您将在OnConfiguring方法中看到数据库凭据是硬编码的。

考虑到安全问题,在C#类中使用SQL Server凭据并不是一种好习惯。因此,从上下文文件中删除此OnConfiguring方法。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

并将连接字符串移动到appsettings.json文件。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

然后我们可以在应用程序启动期间注册数据库上下文服务(InventotyContext)。在以下代码中,从appsettings文件中读取连接字符串并将其传递给上下文服务。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

然后通过依赖注入向所述控制器注入所需的控制器。

执行CRUD操作

现在我们设置数据库并将其配置为与Entity Framework Core一起使用。我们将看到如何执行CRUD操作。

右键单击控制器文件夹,选择“添加新项”,然后选择“ 控制器”。然后将显示此对话框。

Adding-MVC-Controller-with-views-1.png

使用Entity Framework选项选择带视图的MVC Controller,然后单击Add。

我们需要选择之前创建的数据库模型类和数据上下文类,然后单击“添加”。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

就是这样就完成了。scaffolding引擎使用T4模板为各自的文件夹中的控制器操作和视图生成代码。这是代码的基本版本,我们可以根据需要修改它。

请找到创建的文件:

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

现在我们在Products表上有完整功能的CRUD操作。

然后,更改默认应用程序路由以加载Products Controller而不是home控制器。打开Startup.cs文件,在Configure方法下,将默认控制器更改为Products。

Updating-startup-page.png

在scaffolding引擎的帮助下,开发人员无需为每个数据库模型编写CRUD操作。

运行应用程序

单击“运行”以查看应用程序。将打开一个新的浏览器选项卡,我们将能够看到产品列表页面。由于库存中没有产品,因此它是空的。

Empty-Product-Listing.png

单击“新建”以将新产品添加到清单中。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

输入详细信息后,单击“创建”。现在我们应该在列表页面中看到新创建的产品,如下面的屏幕截图所示。已经添加了三个产品。

Product-Listing-updated.png

单击详细信息以查看产品详细信息。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

单击编辑以更新产品详细信息。

如何使用ASP.NET Core 3.0和Visual Studio 2019实体框架3.0构建CRUD应用程序?

单击“删除”以删除产品。在从数据库中删除之前,将要求确认。

Deleting-the-product.png

无需编写任何代码,我们就可以在scaffolding引擎的帮助下创建一个具有基本CRUD操作的应用程序。

点击查看示例应用程序。提取应用程序,更改appsettings.json文件中指向SQL Server的连接字符串,然后运行该应用程序。

结论

在本文中,我们学习了如何创建ASP.NET Core应用程序并将其连接到数据库,以使用Entity Framework Core 3.0和代码生成工具执行基本的CRUD操作。

Essential Studio for ASP.NET Core控件库是构建应用程序所需的惟一套件,因为它在一个包中包含超过65个高性能、轻量级、模块化和响应性强的UI控件。欢迎下载试用版体验哦~


想要获得Essential Studio for ASP.NET Core更多资源的伙伴,请点这里。

想要获取Essential Studio for ASP.NET Core正版授权的伙伴,请点这里。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月3日
下一篇 2019年8月3日

相关推荐

发表回复

登录后才能评论