首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试EF应用程序锁定DB表?

调试EF应用程序锁定DB表?
EN

Stack Overflow用户
提问于 2012-01-26 01:56:22
回答 2查看 191关注 0票数 2

我有一个WCF应用程序,有5-6 EF模型在它。在生产环境中,将只运行此应用程序的一个实例。

但在开发过程中,有5个开发人员同时在开发它。(针对同一数据库。)

我们注意到,有时SQL Server2008 R2 DB上的表会被锁定。这似乎是当某人正在进行一步一步的调试,并不得不将其放在一个步骤上几分钟。

我很好奇为什么EF会在一张桌子上保持一个锁。如何使用EF锁定一个表?我能做些什么来防止这种情况发生?

注意:此应用程序访问WCF Data Services (OData)终结点以获取其某些数据(来自同一数据库)。我不知道OData将如何锁定数据库,但我想我会提到它,以防它很重要。

EN

回答 2

Stack Overflow用户

发布于 2012-01-26 03:24:18

只有一个解决方案。每个开发人员都将在本地安装数据库,并在自己的环境中运行调试会话!其他的都是错误的开发环境。使用SQL Server Express或SQL Server Developer edition。

票数 2
EN

Stack Overflow用户

发布于 2012-01-26 02:13:50

我们所能做的就是尝试各种猜测。例如:如果您的数据模型缺少适当的索引,那么记录查找将转换为表扫描,并将escalate locks扫描到表级。

真正的解决方案是适当地调查阻塞。到底是什么导致了阻塞,到底是什么资源在等待?哪个会话/事务/语句持有其他会话/事务/语句所需的资源。

使用Activity Monitorwho_is_activesp_blitz。阅读Waits and Queues白皮书。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9007631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档