首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF6事务回滚

EF6事务回滚
EN

Stack Overflow用户
提问于 2015-07-21 15:56:38
回答 3查看 105关注 0票数 3

我们将上下文对象扩展为与另一个系统具有同步功能。我们目前正在草原上做这件事。但是,我们意识到,有一种情况是,在事务状态中使用上下文,使用对savechanges的多个调用的初学者事务。在完成整个过程之前,我们不想同步数据。我们想在处理上下文的时候这样做。

我们有一个问题是知道交易是否成功。如果它成功了,那么就很好地同步了。如果它被回滚,那么我们当然不想同步。当上下文被释放时,我们如何知道事务的状态?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-21 17:22:14

如果您的模型需要同步来实现接口,例如,iSyncable,它保证您将在模型成功保存后立即同步。如果通过导航属性拥有相关表,请保存所有内容,并在同步之前将它们放入导航属性,以便同步函数拥有所需的所有对象。

顺便说一句,如果您需要进行任何数据转换,这就是您要做的地方。

票数 1
EN

Stack Overflow用户

发布于 2015-07-21 17:30:33

您需要在事务管理器中登记操作,以接收与事务相关的通知。

MSDN IEnlistmentTransaction

票数 1
EN

Stack Overflow用户

发布于 2015-07-21 16:12:36

不要在dispose方法中这样做。处置是用来清理的。使用以下模式:

代码语言:javascript
复制
using (var tran = new TransactionScope())
using (var db = new MyContext())
{
 db.Connection.Open();
 DoWork(db);
 tran.Complete();
}

这就是你要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31544012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档