sql-server-2008 – 在EF4中控制ArithAbort
我们的EF4 MVC解决方案存在一些性能问题.我们已经能够在所有与数据库的连接之前将其跟踪到ArithAbort设置为关闭,现在我们正试图强制它保持为“ON”. 我们看过: 但似乎EF4正在重置每个查询之前的连接,所以这将无法正常工作. 到目前为止,我们已经尝试在给定查询之前“设置ArithAbort”,没有运气.我们也尝试了很长的路要走并在我们设置的地方建立新的连接,但仍然没有运气. 那么,任何人都有一个线索,我们如何在对数据库进行任何linq查询之前设置它? 无法更改数据库设置. 编辑: protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior) { if (this.WrappedCommand.CommandType == System.Data.CommandType.Text) { this.WrappedCommand.CommandText = "set arithabort on; " + this.WrappedCommand.CommandText; } 这基本上确保任何Linq-sql调用都以正确的set语句为前缀. 我还必须补充: DbFunctionCommandTree functionTree = commandTree as DbFunctionCommandTree; if (functionTree != null) { this.IsModification = true; return; } 到EFCachingCommandDefinition中的GetAffectedEntitySets函数,以使其与存储过程调用一起正常工作. 解决方法EF提供了在实体连接和SQL.Data.Client之间插入环绕提供程序的功能 – 请参阅 http://code.msdn.microsoft.com/EFProviderWrappers和 http://blogs.msdn.com/b/jkowalski/archive/2009/06/11/tracing-and-caching-in-entity-framework-available-on-msdn-code-gallery.aspx现在我承认这更像是一个线索而不是答案 – 但也许你可以在这一点上插入相关的集合? (编辑:大同站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql中go的作用是什么?一文带你了解go的用法
- 如何找出SQL Server中使用主键的引用?
- SQL server中怎样做锁表和解锁表的操作?
- sql-server – 谓词:在WHERE子句或JOIN子句中?
- sql-server – sysmultiobjrefs SQL 2005上的TempDB争用
- 微软将在SQL Server中添加XML数据类型
- 在SQL中不是条件
- sql-server – 如何在sql server上拆分一个非常大的数据库
- sql-server-2005 – IIS7上对SQL Server Reporting Service
- 微软为Longhorn垫场 公布新版本Windows XP蓝图