- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我读了here在为读取操作查询数据时,将 ObjectTrackingEnabled
设置为 false
会在一定程度上提高性能。我的查询如下所示:
public return type TheQueryName (some parameters)
{
using (TheDC MyDC = new TheDC())
{
var TheQuery = (...).ToList();
return TheQuery;
}
}
1) 如果我想添加性能增强功能,是否只需在 var TheQuery = (. ..).ToList();
2) 此外,如果我在查询中将 ObjectTrackingEnabled
设置为 true
,我需要在返回之前将其设置为 false 还是我我只是为数据上下文的特定实例设置 ObjectTrackingEnabled
,接下来我将实例化一个新的数据上下文,ObjectTrackingEnabled
的值将恢复为默认状态错误
?
注意:我只打算添加 ObjectTrackingEnabled = false;
来读取操作。
谢谢。
最佳答案
ObjectTrackingEnabled 控制您的数据上下文(在您的情况下为 TheDC
)是否会在实体加载后跟踪它们的更改。是否需要取决于您的具体情况。
自然地,让数据上下文做更少的事情会使其运行得更快,但代价是您跟踪更改的负担。为什么更改跟踪很酷?因为您可以:
SaveChanges
并让数据上下文计算出对修改的实体执行 UPDATE 查询,对已删除的实体执行 DELETE 等禁用更改跟踪后,您必须明确告诉上下文发生了什么更改、新值是什么等。
假设您仍然不想要对象跟踪,该属性是在每个特定的数据上下文实例上设置的。这意味着您必须:
this.Configuration.AutoDetectChangesEnabled = true;
参见this blog post详情希望这对您有所帮助!
关于c# - ObjectTrackingEnabled 和 linq-to-sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021013/
给定以下代码: using(var data = new SomeDataContext(ConnectionString)) { data.ObjectTrackingEnabled = fal
我读了here在为读取操作查询数据时,将 ObjectTrackingEnabled 设置为 false 会在一定程度上提高性能。我的查询如下所示: public return type TheQue
我是一名优秀的程序员,十分优秀!