【发布时间】:2020-04-08 02:20:43
【问题描述】:
我正在开发一个带有多个 DbContext 的 ASP.NET 核心项目,其中一个是身份上下文。
我将周涛 (Aspnet core Identity custom ApiAuthorizationDbContext) 的解决方案应用于一个问题,这首先解决了我的问题,但现在我遇到了无法创建没有参数的 ApplicationDbContext 的问题。
- DbContextOptions 选项
- IOptions operationStoreOptions
这里有几行代码来说明它
我在 Startup 中注册了 ApplicationDbContext
启动
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("IdentityConnection"))
);
ApplicationDbContext
public class ApplicationDbContext : KeyApiAuthorizationDbContext<Identity.AspNetUsers, Identity.AspNetRoles, Guid>
public ApplicationDbContext(DbContextOptions options,
IOptions<OperationalStoreOptions> operationalStoreOptions) : base(options, operationalStoreOptions)
{
}
如果我想创建一个新的
ApplicationDbContext ctx = new ApplicationDbContext();
我需要这两个参数...
如果有人能给我一个提示,那就太好了。
感谢您和最诚挚的问候, 诺埃尔
【问题讨论】:
-
欢迎来到 StackOverflow Noel。你能解释一下为什么要创建这样的上下文而不是使用依赖注入来访问上下文吗?
-
您好 Dennis1769,谢谢您的回答。我有一个复杂的应用程序架构,我想放松对 EF Core 和 Controller / BusinessLogic 的封装。对于我使用 DI 的其他事情。
标签: asp.net-core asp.net-identity identityserver4 dbcontext ef-core-3.0