首页 > 代码库 > Entity Framework实现事务回滚
Entity Framework实现事务回滚
在使用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表数据的时候,模拟了一个异常,通过断点调试执行完毕,发现数据库中没有增加任何数据。
Entity Framework实现事务回滚
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。