如何使用 "AddDbContext" 和 "AddSingleton"?
- 论坛
- 如何使用 "AddDbContext" 和 "AddSingleton"?
17 浏览
如何使用 "AddDbContext" 和 "AddSingleton"?
在我的Web应用程序中,我有一个需要在请求之间保持一致的有状态对象,所以我将其注册为单例对象:
services.AddSingleton();
现在,在某个地方,GamePlay
需要使用一个 MyDbContext
,我使用以下方式添加它,因为我需要传入一个特定的构造函数参数,其类型为 DbContextOptions
:
services.AddDbContext(options => options.UseInMemoryDatabase(databaseName: "testdb"));
然而,在运行时,这会引发以下错误:
InvalidOperationException: 无法从单例 'IGamePlay' 使用范围服务 'MyDbContext'。
如何使用 AddDbContext
注册一个与单例依赖关联的依赖项?
编辑:(回答评论)我找到了很多答案,但没有解决问题。最终,我使用 services.AddSingleton
注册了 MyDbContext
。它似乎有效。如果我以这种方式做,会突然出现什么严重问题吗?