使用SQL Server Profiler进行概述:EF 6使用BEGIN TRAN和包装每个存储过程调用COMMIT TRAN.
这不是一个突破性的变化吗?
也许它不仅是一个突破性的变化,而且在SP中使得任何事务逻辑都不可能,因为我们永远不能使用存储过程回滚我们的事务ROLLBACK TRAN(注意:SQL Server中没有嵌套事务),因此一个回滚回滚到@@TRANCOUNT零.因为我们在事务中因为EF 6我们得到"EXECUTE后的事务计数表示BEGIN和COMMIT语句的数量不匹配.前一个计数= 1,当前计数= 0".标准SQL Server错误.
请不要问我为什么要调用存储过程.我有数百个,所有这些都在使用TRY ... COMMIT ... CATCH ROLLBACK逻辑.
任何想法如何防止EF 6这样做?