Linq2db基于事务方式访问数据库

   最近在写一个小软件OPC客户端,数据库用是的sqlite,之前都是自己写一个sqlhelper来访问数据库,后面听说用linq不用写sql语名,用起来很方便,听别人说linq2db是一款轻量型的linq,于是通过nuget安装了linq2db,安装好配置好数据库的映射就可以用了。
   发现用linq写数据库操作还真的是方便,写代码时有提示,编译通过了就肯定不会有问题了,不过在用的时候遇到一个问题,单条的增、删、改没有问题、但多条的增、删、必就不会了,一条条的操作的话很慢,效率很低,以前用sql语句时用事务的方法可以应对,现在用linq不会用了,在网上查了很多资料举的例子都是单条的增、删、改,没有讲事务的,后来在官网找到了,哎,资料还是官网全啊,不过要学好英语了。
   不多说了上代码,这是我写的linq2db基于事务的数据库访问代码,请大家批评指正
        DataDB db = new DataDB("ConnStr");

        bool ExcuteSuccess = true;
        db.BeginTransaction();//开始事务
        try
        {
            foreach (OPCTag tag in tags)
            {
                db.TbSampleItemSendFail.Where(ts => ts.Pid == tag.ID).Delete();
            }
        }
        catch (Exception ex)
        {
            ExcuteSuccess = false;
            throw ex;
        }
        finally
        {
            if (ExcuteSuccess == false)
            {
                db.RollbackTransaction();//事务回滚
            }
            else
            {
                db.CommitTransaction(); //提交事务
            }
        }
        return ExcuteSuccess;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值