Skip to content

4.Transaction

陈珙 edited this page Mar 29, 2019 · 1 revision

There are two ways

Simple

con.Transaction(tc =>
{
    var sysUserid = tc.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com").Select(a => a.SysUserid).Get();

    tc.CommandSet<SysUser>().Where(a => a.SysUserid == sysUserid).Delete();

    tc.CommandSet<SysUser>().Insert(new SysUser
    {
         CreateDatetime = DateTime.Now,
         Email = "2530665632@qq.com",
         SysUserid = Guid.NewGuid().ToString("N"),
         UserName = "xiaobenzhen",
    });
},ex=>{
    //to do something
});

Native

if (con.State == ConnectionState.Closed)
    con.Open();

using (var transaction = con.BeginTransaction())
{
       con.CommandSet<SysUser>(transaction).Insert(new SysUser
       {
           CreateDatetime = DateTime.Now,
           Email = "111111111@qq.com",
           Mobile = "11111111111",
           RealName = "陈珙",
           SysUserid = Guid.NewGuid().ToString("N"),
           UserName = "chengong111",
           UserStatus = 1,
           UserType = EUserType.Super,
           Password = "487c9dac0c094a31a89fef1a98bc1111"
      });

      con.CommandSet<SysUser>(transaction).Insert(new SysUser
      {
          CreateDatetime = DateTime.Now,
          Email = "2222222@qq.com",
          Mobile = "22222222222",
          RealName = "陈珙",
          SysUserid = Guid.NewGuid().ToString("N"),
          UserName = "chengong222",
          UserStatus = 1,
          UserType = EUserType.Super,
          Password = "487c9dac0c094a31a89fef1a98bc1111"
       });

      transaction.Commit();
}
Clone this wiki locally