Transactions 为什么Database.SqlQuery终止我用Database.BeginTransaction启动的事务?

Transactions 为什么Database.SqlQuery终止我用Database.BeginTransaction启动的事务?,transactions,entity-framework-6,Transactions,Entity Framework 6,这是难以置信的。我正在使用EF6,我正在调用数据库.BeginTransaction,这是启动事务的“推荐”方式。然后我调用Database.SqlQuery来调用一个存储过程,该存储过程进行一些修改,然后返回一些数据。此调用后,Database.CurrentTransaction为null。它把它消灭了。为什么会这样 当然,我存储的是BeginTransaction返回的DbContextTransaction,当我对其调用“Commit”时,我得到一个错误,表示基础提供程序在提交时失败,并

这是难以置信的。我正在使用EF6,我正在调用
数据库.BeginTransaction
,这是启动事务的“推荐”方式。然后我调用
Database.SqlQuery
来调用一个存储过程,该存储过程进行一些修改,然后返回一些数据。此调用后,Database.CurrentTransaction为null。它把它消灭了。为什么会这样


当然,我存储的是BeginTransaction返回的DbContextTransaction,当我对其调用“Commit”时,我得到一个错误,表示基础提供程序在提交时失败,并且连接为null。我认为这是SqlQuery清除当前事务的结果。这毫无意义。

Database.SqlQuery自动提交以Database.BeginTransaction启动的事务。这毫无意义。如果看不到相关代码,就很难确定可能发生的情况。例如,这是否都在单个方法的范围内?