gpt4 book ai didi

c# - Entity Framework 7 中的显式事务

转载 作者:可可西里 更新时间:2023-11-01 03:09:31 25 4
gpt4 key购买 nike

有人知道如何在 Entity Framework 7 中创建显式事务吗???我找到的所有信息都引用了 EF 的版本 6。文档也很不完整,所以有人可以提供一个例子吗?

我有一个 dbContext,我必须删除一个实体及其相关对象,然后再次插入它们,但在同一个事务中,所以我总是有一个“版本”的行。

最佳答案

事务功能仅从 RC1 开始包含在 EF7 中(请参阅 the statement )。 .SaveChanges()(或.SaveChangesAsync())的调用应该使用自动事务。然后我假设实体的某些项目的状态应该被标记为 Deleted before,例如。

可以通过在

内的数据库上包装一些操作片段来显式地启动事务
using (context.Database.BeginTransaction()) {
/*do something*/
}

事务将在 using block 末尾通过调用 .Dispose() 来提交。可以交替使用

using (var transaction = await context.Database.BeginTransactionAsync()) {
/*do something*/
/*one can call
transaction.Rollback() or transaction.Commit()
explicitly in the code */
}

一般情况下,所有内容都应该与以前版本的 Entity Framework 中的一样。例如,参见 the post

关于c# - Entity Framework 7 中的显式事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com