翻譯|使用教程|編輯:陳津勇|2019-11-04 15:49:08.077|閱讀 2827 次
概述:使用EF Core和Visual Studio 2019在ASP.NET Core應用程序中處理數(shù)據(jù)時,需先描述數(shù)據(jù)的模型,然后創(chuàng)建頁面管理該模型。在創(chuàng)建完成后,還需通過一些測試步驟來測試該應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
請按照以下步驟開始在ASP.NET Core Web App中使用Entity Framework Core處理數(shù)據(jù)。
點擊下方圖片觀看視頻,然后繼續(xù)向第一個ASP.NET Core應用添加數(shù)據(jù)。
Visual Studio 2019教程:使用Entity Framework處理數(shù)據(jù)
打開項目
如果您要跟著視頻一起學習,請打開在上一節(jié)中創(chuàng)建的Web應用程序項目。如果您從本節(jié)開始,則需要創(chuàng)建一個新項目,然后選擇ASP.NET Web Application和Web Application,并將其余選項保留為默認值。
添加模型
在ASP.NET Core應用程序中使用數(shù)據(jù)時,要做的第一件事是描述數(shù)據(jù)的外觀。我們稱其為要解決的問題所涉及的事物的模型。在現(xiàn)實世界的應用程序中,我們將向這些模型添加自定義業(yè)務邏輯,讓它們以某些方式運行并自動化任務。對于此示例,我們將創(chuàng)建一個用于跟蹤棋盤游戲的簡單系統(tǒng)。需要一個代表游戲的類,并包含一些想要記錄的有關該游戲的屬性,例如它可以支持多少玩家。此類將進入一個新文件夾,該文件夾將在Web項目的根目錄中創(chuàng)建,命名為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; } }
創(chuàng)建頁面來管理游戲庫
現(xiàn)在,準備創(chuàng)建用于管理游戲庫的頁面,這個過程其實非常簡單。首先,我們需要確定該功能在應用程序中的位置,打開Web項目中的Pages文件夾,然后在其中添加一個新文件夾,命名為Games。
現(xiàn)在,右鍵單擊“Games”,然后選擇Add > New Scaffolded Item。選擇Entity Framework (CRUD) 選項。CRUD代表“創(chuàng)建、讀取、更新、刪除”,此模板將為每個操作創(chuàng)建頁面(包括“l(fā)ist all”頁面和“view details of one item”頁面)。
選擇游戲模型類,然后使用“+”圖標添加新的數(shù)據(jù)上下文類,命名為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")));
同時,您還會發(fā)現(xiàn)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的現(xiàn)有using語句塊的末尾:
using Microsoft.Extensions.DependencyInjection; using WebApplication1.Models;
確定在代碼中使用項目名稱而不是WebApplication1。
大多數(shù)代碼僅用于錯誤處理,并在應用程序運行之前提供對EF Core AppDbContext的訪問。重要的一行是表明context.Database.EnsureCreated()的那一行,如果數(shù)據(jù)庫不存在,它將創(chuàng)建數(shù)據(jù)庫。現(xiàn)在,這個應用程序就可以運行了。
測試程序
運行該應用程序,然后導航到地址欄中的/Games。您將看到一個空白列表頁面。單擊Create New將新Game添加到集合中。填寫表格,然后點擊Create,在列表視圖中可以看到它。單擊Details查看單個記錄的詳細信息。
添加另一條記錄。您可以單擊“Edit”更改記錄的詳細信息,或單擊“Delete將其刪除,在刪除記錄之前,系統(tǒng)將提示您確認操作。
以上就是使用EF Core和Visual Studio 2019在ASP.NET Core應用程序中處理數(shù)據(jù)所需的全部步驟。
在下一節(jié)教程中,您將學習如何向應用程序添加Web API支持。
*想要獲得 Visual Studio 更多資源或正版授權的朋友,可以咨詢了解哦~
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: