一、环境准备
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.查询操作