SQLite数据库已锁定,无法在Azure Linux上写入,但无法在Windows上写入

9rygscc1  于 2023-01-05  发布在  SQLite
关注(0)|答案(1)|浏览(225)

我在一个生产应用程序中使用EF Core 6.0和SQLite。多年来,它在Azure Windows中一直运行良好。昨天,我将同一个应用程序迁移到Azure Linux和.NET 6.0。令人惊讶的是,数据库在更新时锁定,无法更改任何内容。
我已将此问题隔离为一个基本的DELETE操作:

context.Database.ExecuteSqlRaw("DELETE FROM Table WHERE ID = 1")

在Azure Windows和我的本地计算机中运行良好。在新创建的Azure Linux Web应用中,如果失败并显示错误
Sqlite异常:SQLite错误5:'数据库已锁定'
完全相同的代码和设置。
数据源已减少到最小值-“数据源=...文件”
应用程序可以成功写入数据库文件夹。数据库文件具有写入权限。
不知道还能做什么...
EF Core在Windows和Linux中的行为是否不同?

6bc51xsx

6bc51xsx1#

显然,/home被装载为CIFS文件系统,无法处理SQLite3锁。github.com/MicrosoftDocs/azure-docs/issues/47130

相关问题