【发布时间】:2021-03-09 08:58:46
【问题描述】:
我正在尝试使用the DbContext configuration section of the EF Core docs 中讨论的新DbContextFactory 模式。
我已在我的 Blazor 应用程序中成功启动并运行 DbContextFactory,但我想保留直接注入 DbContext 实例的选项,以保持现有代码正常工作。
但是,当我尝试这样做时,我遇到了如下错误:
System.AggregateException:某些服务无法 构造(验证服务描述符时出错 '服务类型: Microsoft.EntityFrameworkCore.IDbContextFactory
1[MyContext] Lifetime: Singleton ImplementationType: Microsoft.EntityFrameworkCore.Internal.DbContextFactory1[MyContext]': 无法使用范围服务 'Microsoft.EntityFrameworkCore.DbContextOptions1[MyContext]' from singleton 'Microsoft.EntityFrameworkCore.IDbContextFactory1[MyContext]'。)---> System.InvalidOperationException:验证服务时出错 描述符'服务类型: Microsoft.EntityFrameworkCore.IDbContextFactory1[MyContext] Lifetime: Singleton ImplementationType: Microsoft.EntityFrameworkCore.Internal.DbContextFactory1[MyContext]': 无法使用范围服务 'Microsoft.EntityFrameworkCore.DbContextOptions1[MyContext]' from singleton 'Microsoft.EntityFrameworkCore.IDbContextFactory1[MyContext]'。 ---> System.InvalidOperationException:无法使用范围服务 'Microsoft.EntityFrameworkCore.DbContextOptions1[MyContext]' from singleton 'Microsoft.EntityFrameworkCore.IDbContextFactory1[MyContext]'。
我在实验时也曾遇到过这个错误:
无法解析范围服务 'Microsoft.EntityFrameworkCore.DbContextOptions`1[MyContext]' 来自 根提供者。
理论上可以同时使用AddDbContext和AddDbContextFactory吗?
【问题讨论】:
标签: c# entity-framework dependency-injection ef-core-3.1 ef-core-5.0