• <menu id="w2i4a"></menu>
  • logo Visual Studio系列教程

    文檔首頁>>Visual Studio系列教程>>Visual Studio 2019教程:使用Entity Framework處理數(shù)據(jù)

    Visual Studio 2019教程:使用Entity Framework處理數(shù)據(jù)


    下載Visual Studio正式版

    請按照以下步驟開始在ASP.NET Core Web App中使用Entity Framework Core處理數(shù)據(jù)。

    點擊下方圖片觀看視頻,然后繼續(xù)向第一個ASP.NET Core應(yīng)用添加數(shù)據(jù)。

    QQ截圖20191104152159.png

    Visual Studio 2019教程:使用Entity Framework處理數(shù)據(jù)

    打開項目

    如果您要跟著視頻一起學(xué)習(xí),請打開在上一節(jié)中創(chuàng)建的Web應(yīng)用程序項目。如果您從本節(jié)開始,則需要創(chuàng)建一個新項目,然后選擇ASP.NET Web Application和Web Application,并將其余選項保留為默認(rèn)值。

    添加模型

    在ASP.NET Core應(yīng)用程序中使用數(shù)據(jù)時,要做的第一件事是描述數(shù)據(jù)的外觀。我們稱其為要解決的問題所涉及的事物的模型。在現(xiàn)實世界的應(yīng)用程序中,我們將向這些模型添加自定義業(yè)務(wù)邏輯,讓它們以某些方式運(yùn)行并自動化任務(wù)。對于此示例,我們將創(chuàng)建一個用于跟蹤棋盤游戲的簡單系統(tǒng)。需要一個代表游戲的類,并包含一些想要記錄的有關(guān)該游戲的屬性,例如它可以支持多少玩家。此類將進(jìn)入一個新文件夾,該文件夾將在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)在,準(zhǔn)備創(chuàng)建用于管理游戲庫的頁面,這個過程其實非常簡單。首先,我們需要確定該功能在應(yī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”頁面)。

    vs2019-add-scaffold.png

    選擇游戲模型類,然后使用“+”圖標(biāo)添加新的數(shù)據(jù)上下文類,命名為AppDbContext。將其余的保留為默認(rèn)值,然后單擊添加。

    您將看到以下“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ù)代碼僅用于錯誤處理,并在應(yīng)用程序運(yùn)行之前提供對EF Core AppDbContext的訪問。重要的一行是表明context.Database.EnsureCreated()的那一行,如果數(shù)據(jù)庫不存在,它將創(chuàng)建數(shù)據(jù)庫?,F(xiàn)在,這個應(yīng)用程序就可以運(yùn)行了。

    測試程序

    運(yùn)行該應(yīng)用程序,然后導(dǎo)航到地址欄中的/Games。您將看到一個空白列表頁面。單擊Create New將新Game添加到集合中。填寫表格,然后點擊Create,在列表視圖中可以看到它。單擊Details查看單個記錄的詳細(xì)信息。

    添加另一條記錄。您可以單擊“Edit”更改記錄的詳細(xì)信息,或單擊“Delete將其刪除,在刪除記錄之前,系統(tǒng)將提示您確認(rèn)操作。

    vs2019-game-list.png

    以上就是使用EF Core和Visual Studio 2019在ASP.NET Core應(yīng)用程序中處理數(shù)據(jù)所需的全部步驟。

    在下一節(jié)教程中,您將學(xué)習(xí)如何向應(yīng)用程序添加Web API支持。



    *想要獲得 Visual Studio 更多資源或正版授權(quán)的朋友,可以咨詢【慧都客服】了解哦~

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();