Поделиться через


Ограничения асинхронного режима

SQLite не поддерживает асинхронный ввод-вывод. Асинхронные методы ADO.NET будут выполняться синхронно в Microsoft.Data.Sqlite. Старайтесь не вызывать их.

Вместо этого используйте упреждающее протоколирование для повышения производительности и параллелизма.

var connection = new SqliteConnection("Data Source=AsyncSample.db");
connection.Open();

// Enable write-ahead logging
var walCommand = connection.CreateCommand();
walCommand.CommandText =
@"
    PRAGMA journal_mode = 'wal'
";
walCommand.ExecuteNonQuery();

Совет

Упреждающее протоколирование включено по умолчанию для баз данных, созданных с помощью Entity Framework Core.