Visual Studio 2019教程:使用Entity Framework处理数据

使用EF Core和Visual Studio 2019在ASP.NET Core应用程序中处理数据时,需先描述数据的模型,然后创建页面管理该模型。在创建完成后,还需通过一些测试步骤来测试该应用程序。

请按照以下步骤开始在ASP.NET Core Web App中使用Entity Framework Core处理数据。

点击下方图片观看视频,然后继续向第一个ASP.NET Core应用添加数据。

QQ截图20191104152159.png

Visual Studio 2019教程:使用Entity Framework处理数据

打开项目

如果您要跟着视频一起学习,请打开在上一节中创建的Web应用程序项目。如果您从本节开始,则需要创建一个新项目,然后选择ASP.NET Web Application和Web Application,并将其余选项保留为默认值。

添加模型

在ASP.NET Core应用程序中使用数据时,要做的第一件事是描述数据的外观。我们称其为要解决的问题所涉及的事物的模型。在现实世界的应用程序中,我们将向这些模型添加自定义业务逻辑,让它们以某些方式运行并自动化任务。对于此示例,我们将创建一个用于跟踪棋盘游戏的简单系统。需要一个代表游戏的类,并包含一些想要记录的有关该游戏的属性,例如它可以支持多少玩家。此类将进入一个新文件夹,该文件夹将在Web项目的根目录中创建,命名为Models。

public class Game{    public int Id { get; set; }    public string Title { get; set; }    public int PublicationYear { get; set; }    public int MinimumPlayers { get; set; }    public int MaximumPlayers { get; set; }}

创建页面来管理游戏库

现在,准备创建用于管理游戏库的页面,这个过程其实非常简单。首先,我们需要确定该功能在应用程序中的位置,打开Web项目中的Pages文件夹,然后在其中添加一个新文件夹,命名为Games。

现在,右键单击“Games”,然后选择Add > New Scaffolded Item。选择Entity Framework (CRUD) 选项。CRUD代表“创建、读取、更新、删除”,此模板将为每个操作创建页面(包括“list all”页面和“view details of one item”页面)。

vs2019-add-scaffold.png

选择游戏模型类,然后使用“+”图标添加新的数据上下文类,命名为AppDbContext。将其余的保留为默认值,然后单击添加。

您将看到以下“Razor Pages”添加到“Games”文件夹中:

  • Create.cshtml

  • Delete.cshtml

  • Details.cshtml

  • Edit.cshtml

  • Index.cshtml

Visual Studio 2019教程:使用Entity Framework处理数据

除了在Games文件夹中添加页面之外,scaffolding操作还向Startup.cs类添加了代码。ConfigureServices查看此类中的方法时,将看到已添加以下代码:

services.AddDbContext(options =>    options.UseSqlServer(Configuration.GetConnectionString("AppDbContext")));

同时,您还会发现AppDbContext连接字符串已被添加到项目的appsettings.json文件。

public static void Main(string[] args){    var host = CreateWebHostBuilder(args).Build();    using (var scope = host.Services.CreateScope())    {        var services = scope.ServiceProvider;        try        {            var context = services.GetRequiredService();            context.Database.EnsureCreated();        }        catch (Exception ex)        {            var logger = services.GetRequiredService();            logger.LogError(ex, "An error occurred creating the DB.");        }    }    host.Run();}

要解析前面代码中的类型名,请将以下using语句添加到Program.cs的现有using语句块的末尾:

using Microsoft.Extensions.DependencyInjection;using WebApplication1.Models;

确定在代码中使用项目名称而不是WebApplication1。

大多数代码仅用于错误处理,并在应用程序运行之前提供对EF Core AppDbContext的访问。重要的一行是表明context.Database.EnsureCreated()的那一行,如果数据库不存在,它将创建数据库。现在,这个应用程序就可以运行了。

测试程序

运行该应用程序,然后导航到地址栏中的/Games。您将看到一个空白列表页面。单击Create New将新Game添加到集合中。填写表格,然后点击Create,在列表视图中可以看到它。单击Details查看单个记录的详细信息。

添加另一条记录。您可以单击“Edit”更改记录的详细信息,或单击“Delete将其删除,在删除记录之前,系统将提示您确认操作。

vs2019-game-list.png

以上就是使用EF Core和Visual Studio 2019在ASP.NET Core应用程序中处理数据所需的全部步骤。

在下一节教程中,您将学习如何向应用程序添加Web API支持。


*想要获得 Visual Studio 更多资源或正版授权的朋友,可以咨询【客服】了解哦~

标签:

来源:慧都

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

上一篇 2019年10月2日
下一篇 2019年10月2日

相关推荐

发表回复

登录后才能评论