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# 正在关闭SQLiteConnection(SQLiteConnectionWithLock)_C#_Sqlite_Portable Class Library_Sqlite Net - Fatal编程技术网

C# 正在关闭SQLiteConnection(SQLiteConnectionWithLock)

C# 正在关闭SQLiteConnection(SQLiteConnectionWithLock),c#,sqlite,portable-class-library,sqlite-net,C#,Sqlite,Portable Class Library,Sqlite Net,我正在我的应用程序中使用 使用库管理连接生命周期的最佳做法是什么? 我找不到任何使用SQLiteConnection.Close()方法的示例。但常见的.NET实践是在每个请求或大量请求之后关闭连接。那么,我是否应该为应用程序创建一个单一连接而从不处理它呢?我个人使用语句将我的db操作包装成一个,该语句将为我处理SqlConnection using (var conn = SqlConnection()) { //SQL stuff here } 这将使关闭()调用在最后一次}之后,

我正在我的应用程序中使用

使用库管理连接生命周期的最佳做法是什么?


我找不到任何使用SQLiteConnection.Close()方法的示例。但常见的.NET实践是在每个请求或大量请求之后关闭连接。那么,我是否应该为应用程序创建一个单一连接而从不处理它呢?

我个人使用语句将我的db操作包装成一个
,该语句将为我处理
SqlConnection

using (var conn = SqlConnection())
{
    //SQL stuff here
}
这将使
关闭()
调用在最后一次
}
之后,以这种方式实现:

protected virtual void Dispose(bool disposing)
{
    Close();
}

这个答案特定于ADO.NET连接&不适用于特定的IIFC问题。这如何特别适用于SQLite.NET PCL库?我的理解是,在创建SQLite.Net.SQLiteConnection时,必须使用该数据库的所有表类调用其CreateTable方法。由于CreateTable要求,每次创建连接以使用using语句时,这都会带来大量开销。我不确定这是否是问题所在的SQLite.NET PCL库以及其中引用的特定类SQLiteConnection的“最佳实践”。@RodneyFoley评论不错。你能提供一个关于SQLite.NET PCL使用的方法的答案吗?@alexey问题的关键是我没有一个好的方法,当时也没有记录在案。由于一些问题,我不再使用SQLite.NET PCL。由于它应该是一种微型orm类型,因此它似乎避免了IDisposable模式的概念,并且您必须“相信”它们正在正确、及时地处理连接。