如何在异步csharp-SQLite包装器中使用事务

本文关键字:事务 包装 异步 csharp-SQLite | 更新日期: 2023-09-27 18:14:18

我在c#项目中使用csharp-SQLite包装器。

之前,我使用了相同的库,但使用了同步函数,而不是async.

可以使用BeginTransaction。这个函数在异步调用中不存在。

如何使用异步调用启动和提交事务?

如何在异步csharp-SQLite包装器中使用事务

我在Stackoverflow中找到了它。函数是RunInTransactionAsync:

await MyDatabaseManager.Connection.RunInTransactionAsync((SQLiteConnection connection) =>
{
  foreach (Hotel _hotel in listUpdates)
  {
    result = connection.Update(_hotel);
    if (result == 0)
    {
      connection.Insert(_hotel);
    }
  }
});