Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 调试EF应用程序锁定数据库表?_Sql Server_Wcf_Entity Framework_Entity Framework 4 - Fatal编程技术网

Sql server 调试EF应用程序锁定数据库表?

Sql server 调试EF应用程序锁定数据库表?,sql-server,wcf,entity-framework,entity-framework-4,Sql Server,Wcf,Entity Framework,Entity Framework 4,我有一个WCF应用程序,其中有5-6个EF模型。在生产环境中,此应用程序将只运行一个实例 但是在开发过程中,有5个开发人员同时进行开发。(针对同一数据库。) 我们注意到SQL Server 2008 R2 DB上的表有时会被锁定。这似乎是当有人在进行分步调试时,必须将其保持在一个步骤上几分钟 我很好奇为什么EF会在桌子上放一把锁。如何使用EF锁定桌子?我能做些什么来防止这种情况 注意:该应用程序访问WCF数据服务(OData)端点以获取其部分数据(来自同一数据库)。我不知道OData将如何锁定d

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

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

我们注意到SQL Server 2008 R2 DB上的表有时会被锁定。这似乎是当有人在进行分步调试时,必须将其保持在一个步骤上几分钟

我很好奇为什么EF会在桌子上放一把锁。如何使用EF锁定桌子?我能做些什么来防止这种情况


注意:该应用程序访问WCF数据服务(OData)端点以获取其部分数据(来自同一数据库)。我不知道OData将如何锁定db,但我想我会提到它,以防它很重要。

我们所能做的就是大胆猜测。如果您的数据模型缺少适当的索引,那么记录查找将变成表扫描和表级扫描

真正的解决办法是正确地研究阻塞。是什么导致了阻塞,确切地说,是什么资源在等待?哪个会话/事务/语句保存着其他会话/事务/语句所需的资源


使用or。阅读白皮书。

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