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


Ограничения асинхронного использования

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.