文章目录
前言
Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。
一、EF Core Tools的下载
EFCore Tools可视化工具
下载后安装,并重启ViusalStudio
二、EF Core Tools的使用
1.新建项目并引入EFCoreTools
新建C#项目
右键项目并打开EF Core 工具
添加数据库连接
PS:数据库要提前配置外部连接,不然会出现无法连接的情况
连接完成后选择要载入的表
设置载入的一些数据,包括上下文的路径,模型的路径,和命名空间等
若不会配置,可以框选在生成的代码中包含连接字符串
2.手动引入EFCore的包
VisualStudio可能无法直接安装EFCore包,可以手动安装Nuget包,包名如下
Microsoft.EntityFrameworkCore.SqlServer
完成后会生成所有的模型和一个上下文文件
PS:注意预设数据库字段的时候需要指定主键,每个表都需要,不然可能会造成错误
三、EFCore的填查删改
1.添加操作
//先创建对象和上下文
DB_TestContext context = new DB_TestContext();
var user = new TbUser();
//初始化user数据
user.Uid = "TestUid";
user.Pwd = "abcdef";
//加入数据并更新修改
context.TbUser.Add(user);
context.SaveChanges();
2.查找操作
(1).通过主键查询
DB_TestContext context = new DB_TestContext();
var result = context.TbUser.Find("TestUid");
if (result == null) Console.WriteLine("该主键不存在");
else Console.WriteLine($"result的uid:{result.Uid} pwd:{result.Pwd}");
(2).用Lambda语句查询
PS:使用Lambda语句的时候请引入System.Linq
DB_TestContext context = new DB_TestContext();
var result = context.TbUser.Where(s => s.Uid == "TestUid").FirstOrDefault();
if (result == null) Console.WriteLine("该主键不存在");
else Console.WriteLine($"result的uid:{result.Uid} pwd:{result.Pwd}");
3.删除操作
PS:删除其实就是先要查到数据,用Find或者Where都可以
DB_TestContext context = new DB_TestContext();
var result = context.TbUser.Where(s => s.Uid == "TestUid").FirstOrDefault();
if (result == null) Console.WriteLine("该主键不存在");
else
{
context.TbUser.Remove(result);
context.SaveChanges();
}
PS:删除完了记得保存修改
4.修改操作
DB_TestContext context = new DB_TestContext();
var result = context.TbUser.Where(s => s.Uid == "TestUid").FirstOrDefault();
if (result == null) Console.WriteLine("该主键不存在");
else
{
result.Pwd = "1111111111111111";
context.SaveChanges();
}
PS:修改完后也要保存嗷
四、总结
1.EFCore的使用可以大大简化原生SQL语句的书写
2.该教程只是展示了EFCore的冰山一角
3.比如上下文的生成可以按需自己写
4.EF Core Tool只是方便生成上下文和模型
5.再引入Nuget包后,也可以使用语句生成上下文和模型