Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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#Sqlite使用简洁的多线程访问_C#_Multithreading_Sqlite - Fatal编程技术网

C#Sqlite使用简洁的多线程访问

C#Sqlite使用简洁的多线程访问,c#,multithreading,sqlite,C#,Multithreading,Sqlite,我对使用MicroORMs相当陌生,可以就如何解决多线程访问数据库的问题提出一些建议。根据我所看到的,最佳实践似乎要求我打开数据库进行类似的查询 using (var db = new SQLiteConnection(this.connectionString)) { queryResult = await db.QueryAsync(sqlQuery, args); } 问题变成了我如何处理来自多个线程的请求,比如上面的请求,因为我得到了异常(这并不奇怪),因为我的数据库文件已经

我对使用MicroORMs相当陌生,可以就如何解决多线程访问数据库的问题提出一些建议。根据我所看到的,最佳实践似乎要求我打开数据库进行类似的查询

using (var db = new SQLiteConnection(this.connectionString))
{
     queryResult = await db.QueryAsync(sqlQuery, args);
}

问题变成了我如何处理来自多个线程的请求,比如上面的请求,因为我得到了异常(这并不奇怪),因为我的数据库文件已经被另一个线程访问了。我知道我可能会使用锁或互斥来解决这个问题,但这是唯一的方法吗?

你能为SQLite设置吗?也许?但我不知道怎么做。我知道SQLite在某种程度上确实支持并发性,因此我认为应该有一种方法可以让它为我管理它。