小编Igo*_*r N的帖子

EF ef Database.SqlQuery 内部回滚到已执行的存储过程

我正在使用 EF 6 Database.SqlQuery 语句来执行存储过程,该存储过程已实现错误和事务处理,并打开和关闭事务(处理多个记录,如果一条记录出现错误,则仅回滚此记录,并提交其他已完成且没有错误的内容) )。

List<T> _result = this.Database.SqlQuery<T>(sqlStatement, parameters).ToList();
Run Code Online (Sandbox Code Playgroud)

EF 使用自己的事务来执行 Database.SqlQuery,但是当发生错误并且我回滚到存储过程时,此回滚也适用于 EF 事务。所以我得到以下异常:

System.Data.SqlClient.SqlException (0x80131904): 当前事务无法提交,并且无法支持写入日志文件的操作。回滚事务。

在这种情况下,我如何防止 EF 使用他自己的事务,或者阻止程序关闭 EF 的事务?

c# sql-server entity-framework transactions

5
推荐指数
1
解决办法
1817
查看次数

标签 统计

c# ×1

entity-framework ×1

sql-server ×1

transactions ×1