zoukankan      html  css  js  c++  java
  • xamarin开发常见错误总结数据库被锁定异常

    1.1.1  数据库锁定错误

    SQLite Error 5: 'database is locked'

    1.1.1.1 概述

    发生这个错误常见的一种原因是:数据库访问我们使用了多个上下文,并且不同的上下文环境嵌套使用。如下代码所示:

     

    1.1.1.2 原因分析

    不同的数据库上下文嵌套使用,有一个上下文使用了事务,而在这个事务中,又使用了另外了一个数据库上下文访问相同的库。

    上面这个截图中的代码,DeleteAudioAndGetTheirIds使用的是Dapper,而它被EF的事务上下文所包裹。所以当运行这段代码时,必然发生数据库锁定错误。

    1.1.1.3 解决方案

    统一数据库上下文访问环境

    1.1.1.4 总结

    之后需要注意这种多上下文互相嵌套访问的情况。因为,单从代码的逻辑上是没有问题的。这就给我们定位错误带来一定的困难。

  • 相关阅读:
    java 截取pdf
    webService 发送soap请求,并解析返回的soap报文
    常用网址
    扫描文件夹下代码行数
    CodeMIrror 简单使用
    常用 linux 命令(部分)
    windows下RabbitMQ 监控
    一定要写的日志
    创业思路
    10月9日后计划
  • 原文地址:https://www.cnblogs.com/lishidefengchen/p/15629497.html
Copyright © 2011-2022 走看看