C# 在c中后台执行小型sql查询的方法?

C# 在c中后台执行小型sql查询的方法?,c#,sqlite,C#,Sqlite,我将我的应用程序事件记录到小文件数据库sqlite 日志表只有3个字段:订单id、消息和时间戳。 日志条目显示不太频繁,因此我可以及时插入日志记录。但无论如何,我想在单独的线程中执行查询,我是如何做到的?我的意思是怎么才能不过度反应?我只是不太清楚什么是纤维和线。下面是我负责数据库日志记录的班级: internal class LogEntryManager { private SQLiteConnection _sqlite; public Log

我将我的应用程序事件记录到小文件数据库sqlite 日志表只有3个字段:订单id、消息和时间戳。 日志条目显示不太频繁,因此我可以及时插入日志记录。但无论如何,我想在单独的线程中执行查询,我是如何做到的?我的意思是怎么才能不过度反应?我只是不太清楚什么是纤维和线。下面是我负责数据库日志记录的班级:

internal class LogEntryManager
     {
         private SQLiteConnection _sqlite;
         public LogEntryManager()
         {
             if (!File.Exists(Environment.CurrentDirectory + @"\logs.db"))
             {
                 SQLiteConnection.CreateFile("logs.db");
                 _sqlite = new SQLiteConnection("Data Source=" + Environment.CurrentDirectory + @"\logs.db");
                 _sqlite.Open();
                 SQLiteCommand command = new SQLiteCommand("CREATE TABLE logs (Id INTEGER AUTOINCREMENT PRIMARY KEY NOT NULL, OrderId INTEGER NOT NULL, Message TEXT, Timestamp DATETIME DEFAULT CURRENT_TIMESTAMP)", _sqlite);
                 command.ExecuteNonQuery();
                 _sqlite.Close();
             }
             else
                 _sqlite = new SQLiteConnection("Data Source=logs.db");
         }

         public void WriteLogEntry(int order, string message)
         {
             _sqlite.Open();  //Initiate connection to the db
             SQLiteCommand cmd = _sqlite.CreateCommand();
             cmd.CommandText = String.Format("INSERT INTO logs (OrderId, Message) VALUES ({0}, {1});", order, message);
             cmd.ExecuteNonQuery();
             _sqlite.Close();
         }
     }
谢谢大家

考虑使用队列处理健壮的后台任务