EntityFramework и метод SaveChanges(), это медленно?
Я в одном из своих педпроджектов на .Net Core реализовал запись логов в Sqlite по средством подключения модуля Microsoft.EntityFrameworkCore.Sqlite
Что бы запись сохранялась в БД надо вызывать SaveChanges()каждый раз. Но я подозреваю что это затратно, делать это для каждой записи.
Вопрос: где правильно вызывать, этот метод? Может делать это по таймеру? Или накапливать где то в памяти а потом вызывать?
Если вы не будете писать каждый раз логи, а накапливать их, то есть вероятность, что перед тем как сохранить пачку логов у вас ляжет приложение и тогда вы уже никаких логов не почитаете.
А вообще писать через EF логи - это как топить печку бумагой, вместо дров/угля.
Если хотите структурированные логи очень рекомендую присмотреться к MongoDB.
bullock, некоторые люди в БД и файлы хранят)
Скорость работы совершенно разная будет.
SQL бд для другого предназначены, нужно выбирать инструмент исходя из задачи.
Если не хотите разворачивать "монстра": могу порекомендовать: www.litedb.org