在ASP.NET Core中利用EFCore創建資料庫表以及查詢表數據

2021-01-04 資料庫及DotNet開發

1)、右鍵項目選擇「管理NuGet程序包」,如下圖所示:

2)、點擊「瀏覽」Tab選項卡,搜索「Microsoft.EntityFrameworkCore」,然後進行安裝,如下圖所示:

3)、安裝前面步驟的方法,繼續安裝另外3個需要安裝的包,分別為:

Microsoft.EntityFrameworkCore.Design、

Microsoft.EntityFrameworkCore.Tools、

Microsoft.EntityFrameworkCore.SqlServer,如下圖所示:

4)、在AppSettings.json文件中添加資料庫連接字符串,如下圖所示:

5)、項目Models文件夾下添加一個實體類User,如下圖所示:

6)、Models文件夾下繼續添加一個DbContext上下文類,如下圖所示:

7)、繼續添加一個實體操作類,如下圖所示:

8)、繼續添加一個ViewModel類,如下圖所示:

9)、修改Startup.cs類,增加讀取配置文件的代碼,以及在Configuration方法中添加SqlServer服務的引用,如下圖所示:

10)、依次點擊菜單欄中的「工具」->「NuGet包管理器」->「程序包管理器控制臺」,如下圖所示:

11)、輸入dir查看當前命令所在目錄,如下圖所示:

12)、由於我們通過命令來遷移更新資料庫,需要到項目的csproj目錄,我們通過cd命令切換到對應目錄,如下圖所示:

13)、繼續輸入命令dotnet ef migrations add InitialCreate –v,如下圖所示:

14)、遷移成功之後,會在項目目錄下生成一個Migrations的文件夾,下面有2個類,如下圖所示:

15)、輸入命令dotnet ef database update -v,如下圖所示:

16)、此時我們打開SQL Server資料庫,對應的資料庫下面就自動創建了一個在DbContext中定義的Users表,包括Id和Name兩個欄位,如下圖所示:

17)、在控制器的方法中,向表中添加一條記錄,如下圖所示:

18)、我們在控制中編寫一個用於顯示User列表的方法,如下圖所示:

19)、About和Index視圖內容如下圖所示:

20)、此時我們運行應用程式,頁面出現異常,如下圖所示:

21)、我們打開SQL Server資料庫,查看表Id列,可以看到其為自動增長列,所以我們不能在應用程式中設置值,如下圖所示:

22)、在HomeController中將對象初始化器中指定的Id值去掉,如下圖所示:

23)、再次運行程序,通過代碼向資料庫中添加數據成功,如下圖所示:

24)、訪問列表頁面/Home/Index,顯示剛才添加的數據記錄,如下圖所示:

至此,我們在ASP.NET Core中利用EF創建資料庫表以及查詢表數據操作就完成了。

相關焦點

  • ASP.NET Core WebAPI中利用EFCore為視圖View創建對應實體
    在EFCore中,利用Scaffold-DbContext命令創建資料庫表對應的實體類,但是卻無法為視圖View創建與之對應的實體,但是在有些應用場景中,由於視圖比較複雜,通過EFCore多表聯合查詢方式,無論是通過Join或者Include方式在操作上都不是很方便,接下來我們將研究為視圖View創建對應的實體類。
  • 「EFCore」利用Entityframework Core創建資料庫模型
    我們首先創建一個控制臺應用,利用 dotnet cli、Powershell或VS中的Nuage包管理控制器 在項目目錄輸入以下指令安裝必備的包:這裡使用的是 dotnet cli :dotnet add package Microsoft.EntityFrameworkCoredotnet
  • asp.net連接資料庫
    前兩日,在CSDN看了篇文章《10個程式設計師必須學會接受的殘酷真相》,其中有一條:「網際網路其實就是存儲在表中的數據」,這句話說的很有道理,也提醒我們開發人員需要重視資料庫操作;本篇講述asp.net如何連接資料庫,考慮到資料庫種類較多,這裡就以asp.net連接SQL Server資料庫舉例
  • Asp.Net Core多榜逆襲,這是.NET最好的時代
    TechEmpowerTechEmpower第19輪程式語言框架性能排行榜2020年5月28日正式發布,詳見官方博客:https://www.techempower.com/blog/2020/05/28/framework-benchmarks-round-19/,asp.net
  • 利用VBA,如何在資料庫中新建查詢表,並在工作表中顯示其內容
    大家好,今日講解VBA資料庫解決方案第19講:如何在資料庫中新建一個查詢表,並在工作表中顯示出來。關於Recorsset集合的一些操作講解,在前幾講中講了很多,這裡提醒大家一點:任何對象都不是孤立存在的,要結合實際來理解。
  • asp.net封裝mysql工具類,在頁面上引用讀取的數據
    asp.net連接SQLserver和access很方便,直接用自帶的SQLdatasource控制項就行了,但是連接mysql資料庫就要麻煩一些。先介紹asp.net連接mysql資料庫的步驟。1引用MySql.Data.dll庫文件,這個庫文件提供了連接mysql資料庫的類,不引用不行,具體的自行百度。
  • mysql資料庫優化方案之分庫分表,輕鬆解決億級數據問題
    例:訂單數據根據主鍵尾數拆分為10張表,分別是t_order_0到t_order_9,他們的邏輯表名為t_order。真實表在分片的資料庫中真實存在的物理表。即上個示例中的t_order_0到t_order_9。數據節點數據分片的最小單元。
  • 在asp.net中使用ajax方式查詢並顯示數據
    下面演示以下asp.net中如何利用ajax和ashx,實現異步查詢操作。:TextBox ID="TextBox1" runat="server"></asp:TextBox>       <input type="button" onclick="cx()" value="查詢 "
  • Asp.net Core啟動流程講解(一)
    Program.cs 配置程序啟動項以及各類初始化, Asp.net Core 3.0以及以後版本的替換依賴注入就得在Program內配置.net core 3.0之前的Program.cs.net core 3.0之後的Program.cs
  • asp.net core 5.0 中的 JsonConsole
    asp.net core 5.0 中的 JsonConsoleIntroasp.net core 5.0 中日誌新增了 JsonConsole,還是輸出日誌到 Console,但是會應用 Json 格式的一個 Formatter 把日誌格式化成 json 再輸出到控制臺
  • Java開發工程師如何在Mysql資料庫中創建表
    首先我們需要在資料庫中創建兩張表用來學習MyBatis對資料庫增刪改查的使用方法。如果是新安裝的資料庫可以直接複製我下面的sql進行表創建,如果是已使用中的資料庫可能表明會與我的表名衝突,需要創建一個新的database再執行sql,也可以直接刪除原來的表,如果表有外鍵關聯需要先解除外鍵約束再刪除。
  • ASP.NET Core API+MVC+Redis 模擬購物車
    ,選擇asp.net core web 應用程式,選擇API,開始創建2、點項目右鍵,在管理NuGet程序包選擇EF,添加,在選擇程序包管理器控制臺4、輸入:Scaffold-DbContext &39; Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context ShopContext這裡需要注意的是:ShoppingDB是資料庫的名稱
  • 《資料庫實驗》實驗一:建立資料庫和基本表結構
    熟悉SQL Server 2014中SQL Server Management Studio的環境;2. 掌握使用嚮導創建資料庫和基本表結構的方法;3. 掌握使用資料庫DDL語言創建資料庫和基本表。二、實驗內容設有一學生成績管理系統,其資料庫名為「ST」。(1) 在資料庫ST中創建班級表Class、學生表Student、課程表Course和成績表Score,要求為每個屬性定義恰當的數據類型和長度,並為每張表指明主鍵和外鍵。
  • ASP.NET實戰002:MySQL資料庫連接
    資料庫管理系統資料庫是用來存放數據的倉庫,它擁有很大的存儲空間,可以用來存放我們系統的所有數據。而資料庫管理系統(DBMS)是為管理資料庫而設計的系統,可以對文件中的數據進行新增、截取、更新、刪除、查詢、備份等操作,最主要是安全可靠、靈活高效、性能優越。
  • C#演示在.net core的Winform窗體下接入EF
    本文主題:如何在.net core的窗體應用程式Winform環境下,以DB First的方式接入.net core的EntityFramework。關於Code First的的方式,我之前有寫過一個本地加載Sqlite的文章裡面有,估計大部人也不知道就是了,那篇文章總共也才幾個人閱讀。
  • ASP.NET CORE 版本的DTcms Core即將發布
    一直以來,作為DTcms的鐵桿粉絲,從DTcms 3.0到4.0,再從4.0到5.0,一直緊緊隨,如今DTcms 的.net core版本即將要發布了(我個人預計2020年10月份左右),真是非常期待!
  • 不用虛機不用Docker使用Azure應用服務部署ASP.NET Core程序
    還可以利用其 DevOps 功能,例如包管理、過渡環境、自定義域和 SSL 證書。通過portal控制臺創建一個新的應用服務資源。這些設置完成後點擊創建,等待一會就會提示資源創建完成。選擇新建的資源,可以看到一些基本信息,以及一些輸入、輸出的監控信息等。
  • 如何在MySQL8.0創建資料庫和表並對表記錄進行增刪改查
    >show databases;show databases;3、接著使用創建資料庫命令,創建資料庫student後,使用命令use student,切換資料庫use student;然後使用命令查看資料庫student中的表show tables;
  • MySQL中如何創建、查看、刪除、修改表記錄
    昨天跟大家分享了如何創建資料庫,今天我們一起學習一下,如何創建表,以及表創建好之後,如何添加、刪除、修改表裡面的信息。首先跟昨天一樣,我們是先進入mysql,創建一個資料庫oaec,具體方法可以看我昨天的那篇文章,現在直接進入我們的正題。先查看一下我們建好的資料庫,輸入命令:show databases;