EFCore 事务提交

  1. 单个提交,不需要,SaveChanges本来就具有事务属性;
  2. 如果多个提交保存,使用IDbContextTransaction来解决:
IDbContextTransaction tran = null;
    try
    {
        tran = context.Database.BeginTransaction();
        context.UserInfo.Add(new UserInfo()
        {
            Name = "haha11",
            Age = 19
        });
        context.SaveChanges();
 
        context.UserInfo.Add(new UserInfo()
        {
            Name = "haha22",
            Age = 19
        });
        context.SaveChanges();
 
        tran.Commit();
    }
    catch (Exception ex)
    {
        if (tran != null)
            tran.Rollback();
 
        Console.WriteLine(ex.Message);
    }
    finally
    {
        tran.Dispose();
    }

 

posted @ 2021-03-12 09:19  lishidefengchen  阅读(449)  评论(0编辑  收藏  举报