Sql server 调试EF应用程序锁定数据库表?
我有一个WCF应用程序,其中有5-6个EF模型。在生产环境中,此应用程序将只运行一个实例 但是在开发过程中,有5个开发人员同时进行开发。(针对同一数据库。) 我们注意到SQL Server 2008 R2 DB上的表有时会被锁定。这似乎是当有人在进行分步调试时,必须将其保持在一个步骤上几分钟 我很好奇为什么EF会在桌子上放一把锁。如何使用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数据服务(OData)端点以获取其部分数据(来自同一数据库)。我不知道OData将如何锁定db,但我想我会提到它,以防它很重要。我们所能做的就是大胆猜测。如果您的数据模型缺少适当的索引,那么记录查找将变成表扫描和表级扫描 真正的解决办法是正确地研究阻塞。是什么导致了阻塞,确切地说,是什么资源在等待?哪个会话/事务/语句保存着其他会话/事务/语句所需的资源
使用or。阅读白皮书。只有一种解决方案。每个开发人员都将在本地安装数据库,并在自己的环境中运行调试会话!其他任何东西都是错误的开发环境。使用SQL Server Express或SQL Server Developer edition