一、環境准備
1.開發環境:.NET Core 3.1
2.IDE工具:Visual Studio 2019
3.數據庫:SQL Server 2012
二、EF Core的安裝
1.新建一個項目,如創建“Console控制台應用程序”,項目名稱為“efc1”。
2.添加包引用(此處我們添加針對SQL Server的支持包,其它數據庫類似)
方式1:通過dotnet cli命令行
在需要用EF Core的項目根目錄,打開powershell或命令行,執行以下命令。
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
方式2:通過Visual Studio的包管理器
從 Visual Studio 菜單中選擇“工具”>“NuGet 包管理器”>“管理解決方案的NuGet程序包”,搜索並選擇所需要的包進行安裝即可。需要的包有:“Microsoft.EntityFrameworkCore”、“Microsoft.EntityFrameworkCore.SqlServer”。
以“Microsoft.EntityFrameworkCore.SqlServer”為例說明。
安裝完成后,在項目的依賴項中就可以看到對應EF Core的包已經被安裝好了。
三、類模型與數據庫表的創建
EF Core作為一種ORM框架,要完成對數據庫的一系列操作,關鍵需要實現數據庫表與類模型的Mapping映射。如以學生信息表Student與類Student模型映射為例。
四、DbContext與連接字符串
現在為止,我們僅僅是完成了數據庫表與C#類模型在形式上的對應關系,他們之間的關聯還並未真正建立,因此需要有什么站出來將兩者緊密的關聯起來,從而實現對C#類模型的操作,可以自動的反映到數據庫表中,這就是DbContext類(數據庫與實體類模型之間的橋梁)。
我們需要做的如下:
1.創建一個自己的MyDbContext類(可根據情況自己給定義的類起名字,此處僅是舉例為MyDbContext),該類繼承自Microsoft.EntityFrameworkCore.DbContext類;
2.在MyDbContext類中,重載父類的OnConfiguring方法,該方法主要完成以下工作:
a)通過UseSqlServer方法,指明數據庫提供程序(也就是指明用的什么數據庫);b)指明數據庫的連接字符串;c)定義相應實體模型類的DbSet(變量名應與對應的數據庫表名相同),以后的CRUD操作都通過它實現;如果有多個實體模型,在MyDbContext中可以定義多個不同的DbSet。
五、測試
經過以上步驟,我們已經完成了EF Core的配置,下面我們通過對Student類模型的添加和查詢,檢驗下我們的EF Core是否正常工作。
1.添加操作
2.查詢操作