随笔分类 -  15-EF Core

摘要:查询优化策略 避免N+1查询问题​ 使用Include和ThenInclude进行预加载关联数据,而不是在循环中单独查询 反例:在循环中查询关联数据会产生多次数据库往返 正例:var orders = context.Orders.Include(o => o.Items).ToList(); 拆分 阅读全文
posted @ 2025-07-16 16:29 .Neterr 阅读(52) 评论(0) 推荐(0)
摘要:若已手动创建数据库表,需通过 ​EF Core Code First 迁移​ 将现有数据库与模型同步,以下是具体步骤: ​1. 创建与数据库匹配的模型类​ 确保实体类(如 Product)属性与数据库表结构一致(包括主键、字段类型等): public class Product { public i 阅读全文
posted @ 2025-05-31 22:52 .Neterr 阅读(89) 评论(0) 推荐(0)
摘要:EF中的事务主要分为三类,分别是SaveChanges、DbContextTransaction、TransactionScope。 SaveChanges SaveChanges一次性将本地缓存中所有的状态变化一次性提交到数据库,这就是一个事务,要么统一成功,要么统一回滚。 使用场景:一个DBCo 阅读全文
posted @ 2022-05-22 00:35 .Neterr 阅读(1605) 评论(0) 推荐(1)
摘要:EF.Functions是EF Core提供的函数功能,用于在 LINQ 查询中调用数据库特定的函数,从而生成更高效的 SQL 查询。 using Microsoft.EntityFrameworkCore; EF.Functions.Like(); EF.Functions.Contains(); 阅读全文
posted @ 2022-05-18 21:08 .Neterr 阅读(1009) 评论(0) 推荐(0)
摘要:实体状态 已添加(Added):DbContext正在跟踪此实体,但数据库中尚不存在该实体。 未改变(Unchanged):DbContext正在跟踪此实体,该实体存在于数据库中,其属性值和从数据库中读取到的值一致,未发生改变。 已修改(Modified):DbContext正在跟踪此实体,并存在于 阅读全文
posted @ 2022-04-29 22:33 .Neterr 阅读(658) 评论(0) 推荐(1)
摘要:DBContext实例化的4种方式 (1). ConfigureService中注入,然后在控制器注入上下文即可。 services.AddDbContext<YpfDbContext>(option => option.UseSqlServer(Configuration.GetConnectio 阅读全文
posted @ 2022-04-23 08:24 .Neterr 阅读(363) 评论(0) 推荐(0)
摘要:悲观锁 EF Core没有封装悲观并发控制的使用,需要开发人员编写原生SQL语句来使用悲观并发控制。不同数据库的语法不一样。 Console.WriteLine("请输入您的姓名"); string name = Console.ReadLine(); using MyDbContext ctx = 阅读全文
posted @ 2022-04-22 01:13 .Neterr 阅读(1433) 评论(0) 推荐(2)
摘要:EF Core中实体之间关系的配置的套路: HasXXX(…).WithXXX(…); XXX可选值One、Many。 一对多:HasOne(…).WithMany(…); 也可以配置多对一:HasMany(…).WithOne(…); 一对一:HasOne(…).WithOne (…); 多对多: 阅读全文
posted @ 2022-04-21 00:10 .Neterr 阅读(659) 评论(0) 推荐(0)
摘要:Entity Framework (EF) 的 ​Fluent API​ 是一种基于代码的配置方式,用于灵活地定义实体类与数据库表之间的映射关系。相比数据注解(Data Annotations),Fluent API 提供了更强大的配置能力,不修改实体类的情况下指定配置,优先级更高(覆盖数据注解和默 阅读全文
posted @ 2022-04-17 12:01 .Neterr 阅读(235) 评论(0) 推荐(0)
摘要:插入 using (TestDbContext ctx = new TestDbContext()) { var b1 = new Book { AuthorName = "杨中科", Title = "零基础趣学C语言", Price = 59.8, PubTime = new DateTime( 阅读全文
posted @ 2022-04-16 07:39 .Neterr 阅读(503) 评论(0) 推荐(0)
摘要:简介 EF Core 提供两种方法来保持 EF Core 模型和数据库架构同步。至于我们应该选用哪个方法,请确定你是希望以 EF Core 模型为准还是以数据库为准。 迁移 如果希望以 EF Core 模型为准,请使用迁移。 在实际项目中,数据模型随着功能的实现而变化:添加和删除新的实体或属性,并且 阅读全文
posted @ 2022-04-14 21:49 .Neterr 阅读(1443) 评论(0) 推荐(1)
摘要:简介 Entity Framework Core(EF Core)是微软官方的ORM框架。优点:功能强大、官方支持、生产效率高、力求屏蔽底层数据库差异;缺点:复杂、上手门槛高、不熟悉EFCore的话可能会进坑。 Nuget包推荐 SqlServer:Microsoft.EntityFramework 阅读全文
posted @ 2022-04-13 20:06 .Neterr 阅读(992) 评论(0) 推荐(0)