事务系统:使用实体框架

时间:2016-12-11 13:44:06

标签: c# entity-framework transactions

我编写了一个小工具,用于存档来自我的Entity Framework代码优先驱动数据库的数据。

我正在对它进行彻底的测试,而且我正在尝试使用大量数据。哪里遇到一些问题。例如,我有时会收到这样的超时或例外情况:

  

试图锁定时发现死锁;尝试重新启动交易。

我知道什么是交易,我猜实体框架正在为一个DbContext中的所有更改创建它们,所以如果在调用SaveChanges()时它们中的任何一个或整个事件都失败了改变了(短边问题:我可以再次运行SaveChanges()吗?)

我想知道的是:因为我需要在整个数据库中删除不同批次的信息(在导出之后),我会不断为每个批次创建dbcontext

我应该为每个批次手动创建交易并在最后一次提交所有交易吗?

我正在学习信息学,并在我的一门课程中学习交易信息系统。在删除批量数据时,Entity Framework如何为我的所有单个事务创建元事务,因此只有在一切运行良好时才会真正删除遍布数据库的所有数据,如下所示:

Meta-Transaction for Everything

或者有更好的方法来解决整个问题吗?

0 个答案:

没有答案
相关问题