24、Entity Framework Core 性能优化与缓存策略

Entity Framework Core 性能优化与缓存策略

1. 无跟踪模式的后果

无跟踪模式(No-Tracking Mode)除了缺少更改跟踪外,还有以下后果:
- 一级缓存不加载对象 :对象不会加载到 Entity Framework Core 的一级缓存中。当再次访问对象时(例如使用 DbSet<T>.Find() ),总是由数据库管理系统加载。
- 无关系修复 :关系修复是 Entity Framework Core 的一项功能,若两个独立加载的对象在数据库中相关,它会在内存中连接这两个对象。但在无跟踪模式下,此功能不可用。
- 延迟加载无效 :延迟加载在无跟踪模式下不起作用,不过目前 Entity Framework Core 本身也暂不支持延迟加载。

2. 最佳实践

Entity Framework Core 中新增的默认 QueryTrackingBehavior.NoTracking 和新扩展方法 AsTracking() 很有意义。但实际中许多 Entity Framework/Entity Framework Core 应用性能不佳,因此建议将 QueryTrackingBehavior.NoTracking 设为标准,这样开发者就能获得高性能的查询执行。目前,Entity Framework Core 默认设置为 QueryTrackingBehavior.Tra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值