SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
为什么我们不应该在 EFCore 中始终使用 AsNoTracking?
问题描述
投票:0
回答:1
众所周知,当我们使用 from
AsNoTracking
时,ChangeTracker 不会跟踪实体的更改。 但是当更新使用
AsNoTracking
获取的实体时,EF 会自动跟踪该实体的属性(当调用
SaveChanges()
时)。 那么,基于这种行为,为什么不在 EFCore 中始终使用
AsNoTracking
呢?
c#
asp.net
.net
entity-framework
entity-framework-core
1个回答
0
投票
当您知道不需要更改跟踪时,AsNoTracking() 非常有用。但一直使用它意味着失去很多 EF Core 的好处,例如自动更改检测、并发处理、身份解析、缓存和性能(性能 - 跟踪实体更改会产生性能成本,因此如果不需要更改跟踪,请使用 AsNoTracking () 可以通过避免这种开销来提高性能。但是,如果您确实需要对实体进行更改跟踪,则使用 AsNoTracking() 实际上会损害性能,因为当您保存更改时 EF 必须重新创建更改跟踪基础结构。您最终必须手动重新实现其中一些。
跟踪查询与非跟踪查询
最新问题
如何实现流畅的帧率无关动画
ArgoCD 图像更新程序因“‘目录’类型”而跳过我的应用程序
爪哇的古怪约会
为什么在没有约束的泛型方法上将可空值类型与 null 进行比较会更慢?
将地图的所有值都设为默认值?
为什么 string.Empty 比 "" 更推荐?
C++ 运算符重载
如何检测wav文件中蜂鸣声的频率和持续时间?
编译器可以在变量实际启动之前就为变量赋值吗?
如何使用 sed 和/或 awk 折叠 python 代码?
深色模式自动适用于除 Firefox 之外的所有页面
根据 Spark 中的匹配键删除/覆盖数据行
如何在没有默认命令的情况下在 Docker 容器中运行特定的 Python 脚本?
在 gcc 中,有什么方法可以动态地将函数调用添加到 main() 的开头吗?
如何打印指针指向的值?
守护进程在 JVM 垃圾收集器抖动和 JVM 内存耗尽后立即停止
为什么这个未初始化的布尔变量总是从0开始?
java比较器对模型数组和另一个字段进行排序
关闭窗口并打开另一个窗口
WorkManager 2.3.4 - 新的 lint 规则
© www.soinside.com 2019 - 2024. All rights reserved.