У меня есть .Net Core 2.2 Web API для приложения чата с концентратором SignalR. Я хотел бы сохранить чаты в базе данных (MySQL). Сначала я подумал, что могу внедрить свой DbContext в концентратор через внедрение зависимостей. Но потом я прочитал, что хаб это Singleton, тогда как DbContext (когда используется через помощник AddDbContext) Scoped. Затем я прочитал другой пост, где было предложено заставить AddDbContext добавить контекст как синглтон. Но я также читал, что это действительно плохая идея. Наконец, я прочитал пост, где кто-то предложил просто получить DbContext из моего Hub с помощью DbContextFactory, и они предоставили этот пример:
using (var dbContextScope = dbContextScopeFactory.Create(options))
{
//do database stuff
dbContextScope.SaveChanges();
}
Однако я не знаю, как получить экземпляр DbContextScopeFactory в моем хабе. Я попытался внедрить IDbContextScopeFactory в конструктор моего хаба, но он просто говорит, что тип или пространство имен IDbContextScopeFactory не может быть найдено
Может ли кто-нибудь указать мне правильное направление?
Спасибо