C#在EntityFramework中实现事务回滚

Maleah ·
更新时间:2024-09-20
· 1210 次阅读

在使用Entity Framework为主从表添加数据,当一个表添加数据成功,另一个表添加数据失败,这时候就需要用到事务回滚。

比如有以下关系的2张表。

客户端使用TransactionScope类可以实现事务回滚。

class Program { static void Main(string[] args) { try { using (TransactionScope ts = new TransactionScope()) { using (CountryDetailsEntities db = new CountryDetailsEntities()) { Country country = new Country(); country.CountryName = "USA"; db.Countries.Add(country); db.SaveChanges(); if (country.CountryID > 0) { int a = 0; int total = 10 / a; State state = new State(); state.CountryID = country.CountryID; state.StateName = "NewYork"; db.States.Add(state); db.SaveChanges(); } } ts.Complete(); } } catch (Exception ex) { throw; } } }

以上,在添加State表数据的时候,模拟了一个异常,通过断点调试执行完毕,发现数据库中没有增加任何数据。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对软件开发网的支持。如果你想了解更多相关内容请查看下面相关链接



C# 事务回滚 回滚 事务

需要 登录 后方可回复, 如果你还没有账号请 注册新账号