C# ado.net和实体框架之间的共享事务

C# ado.net和实体框架之间的共享事务,c#,entity-framework,transactions,ado.net,C#,Entity Framework,Transactions,Ado.net,我有一个应用程序,其中我们使用的事务范围与下面给出的类似。在此事务范围内,EF中将运行select查询,ADO.Net中将调用fetch方法。在这个过程中,我得到一个连接超时异常。但是,如果删除事务作用域,它就可以正常工作 我们是否有办法解决这个问题,或者任何人都可以解释这种行为 using (var transactionScope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions

我有一个应用程序,其中我们使用的事务范围与下面给出的类似。在此事务范围内,EF中将运行select查询,ADO.Net中将调用fetch方法。在这个过程中,我得到一个连接超时异常。但是,如果删除事务作用域,它就可以正常工作

我们是否有办法解决这个问题,或者任何人都可以解释这种行为

 using (var transactionScope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions
            {
                IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
            }))
            {
//call to EF
// call to ADO.Net
            }

实体框架使用ADO.NET transactios。如果没有,你就不会有例外。张贴违规代码。由于某种原因,或者您最终打开了两个连接,或者代码因另一个操作而死锁。您可以发布ADO方法吗?您是否尝试过将cmd.CommandTimeout设置为0;在阿多?您是否运行了探查器会话以查看是否可以查询正在执行的查询?您是否尝试过在TransactionOptions上设置超时?我有一些发现,1使用了企业库数据库对象,2我尝试分析并检查有多少新连接已启动以及有多少事务已就绪。我将对此进行测试,并在这里发布我的发现