По какой-то причине мой хостинг работает только с обновлением моей базы данных SQLite, когда она установлена в режиме WAL. Поэтому, используя «Браузер БД для SQLite», я изменил режим журнала Pragma на WAL, и, похоже, все работает.
Моя база данных теперь составляет 1 МБ, но сопровождающий файл WAL - 4 МБ. Ожидается ли это? Я пытался прочитать параметры Pragma (https://www.sqlite.org/pragma.html#pragma_journal_mode), но в данный момент это кажется выше моего понимания.
Файл WAL, по-видимому, используется перед «Контрольной точкой».
Используя Entity, я делаю следующее:
public DbSet<ProductModel> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite(@"Filename=" + dbPath);
}
using (ProductDB db = new ProductDB())
{
db.Products.Update(testModel);
try
{
db.SaveChanges();
}
}
Есть ли что-то еще, что я должен сделать, чтобы зафиксировать какие-либо изменения и сбросить контрольную точку? Будет ли мой файл WAL продолжать расти или он всегда зависит от размера файла базы данных?
Спасибо