public return type TheQueryName (some parameters) { using (TheDC MyDC = new TheDC()) { var TheQuery = (...).ToList(); return TheQuery; } }
1)如果我想添加性能增强,我只需添加ObjectTrackingEnabled = true行;就在行var之前的TheQuery =(…).ToList();
2)另外,如果我在查询中将ObjectTrackingEnabled设置为true,我是否需要在返回之前将其设置为false,或者我只是为数据上下文的特定实例设置ObjectTrackingEnabled以及下一次我将实例化一个新的数据上下文ObjectTrackingEnabled的值将恢复为默认状态false?
注意:我只计划添加ObjectTrackingEnabled = false;阅读操作.
谢谢.
解决方法
当然,让数据上下文执行的操作更少会使其更快,但代价是加重跟踪更改.为什么变更跟踪很酷?因为你能:
>从某些上下文中加载一些实体
>修改它们
>添加新的,删除其他人
>调用SaveChanges并让数据上下文找出对修改后的实体进行UPDATE查询,对已删除的实体进行DELETE查询等
禁用更改跟踪后,您必须明确告知上下文更改的内容,新值的内容等.
假设您仍然不希望对象跟踪,则在每个特定数据上下文实例上设置该属性.这意味着您必须:
>为您创建的每个数据上下文手动设置
>在上下文的构造函数中将其设置为上下文的默认值,如下所示:this.Configuration.AutoDetectChangesEnabled = true;有关详情,请参见this blog post
希望这可以帮助!
原文地址:https://www.jb51.cc/csharp/91303.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。