Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Entity Framework Core 5中以独占方式打开对数据库的访问连接_C#_Sqlite_Orm_Entity Framework Core_Connection - Fatal编程技术网

C# 如何在Entity Framework Core 5中以独占方式打开对数据库的访问连接

C# 如何在Entity Framework Core 5中以独占方式打开对数据库的访问连接,c#,sqlite,orm,entity-framework-core,connection,C#,Sqlite,Orm,Entity Framework Core,Connection,我的应用程序在本地运行,并将其数据存储在sqlite数据库文件中。我需要确保当应用程序的一个实例正在运行时,另一个实例不能写入同一个数据库文件 如果我不是通过sqlite引擎处理数据库文件,我可以打开它进行读写,而不是关闭它,但是如何在sqlite引擎中做到这一点呢 以及如何在实体框架中的sqlite provider中实现这一点?Hello。检查这是否是您要查找的内容:查看此SO帖子:@Kiril1512б,我知道在sqlite中,我可以锁定表或行。但这并不是我在这件事上需要的。我需要在程序仍

我的应用程序在本地运行,并将其数据存储在sqlite数据库文件中。我需要确保当应用程序的一个实例正在运行时,另一个实例不能写入同一个数据库文件

如果我不是通过sqlite引擎处理数据库文件,我可以打开它进行读写,而不是关闭它,但是如何在sqlite引擎中做到这一点呢


以及如何在实体框架中的sqlite provider中实现这一点?

Hello。检查这是否是您要查找的内容:查看此SO帖子:@Kiril1512б,我知道在sqlite中,我可以锁定表或行。但这并不是我在这件事上需要的。我需要在程序仍在运行时锁定对整个数据库的访问(直到我发出保存数据和释放数据库的命令)。@LocEngineer,我尝试使用BEGIN EXCLUSIVE。在开始时执行此命令(甚至在EF之外-仅在用于测试的python脚本中)。但是,这并没有阻止另一个进程(脚本)删除第一个进程可能需要的表。这里的要点是,据我所知,BEGIN EXCLUSIVE只能为事务创建独占访问,而不能为整个db会话创建独占访问。