Visual Studio 2019教程:使用Entity Framework处理数据
请按照以下步骤开始在ASP.NET Core Web App中使用Entity Framework Core处理数据。
点击下方图片观看视频,然后继续向第一个ASP.NET Core应用添加数据。
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”页面)。
选择游戏模型类,然后使用“+”图标添加新的数据上下文类,命名为AppDbContext。将其余的保留为默认值,然后单击添加。
您将看到以下“Razor Pages”添加到“Games”文件夹中:
Create.cshtml
Delete.cshtml
Details.cshtml
Edit.cshtml
Index.cshtml
除了在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将其删除,在删除记录之前,系统将提示您确认操作。
以上就是使用EF Core和Visual Studio 2019在ASP.NET Core应用程序中处理数据所需的全部步骤。
在下一节教程中,您将学习如何向应用程序添加Web API支持。
*想要获得 Visual Studio 更多资源或正版授权的朋友,可以咨询了解哦~