是否可以将同一个 DbContext 的多个 DbContext Factories 添加到服务集合中?

问题描述 投票:0回答:0

是否可以为同一个 DbContext 添加超过 1 个 DbContextFactory 到 ASP.NET Core 应用程序中的服务集合?

例如,我正在尝试以下代码...

services
  .AddDbContextFactory<WibWorkspaceContext, WibWorkspaceContextFactory>();

services
  .AddDbContextFactory<WibWorkspaceContext, WibWorkspaceSystemContextFactory>();

我想要同一个 DbContext 有两个不同的工厂。一家工厂始终使用 SQL“管理员”帐户登录,另一家使用用户特定帐户。

不过,我似乎无法弄清楚如何让它发挥作用。我如何指定在获取服务的事物方面使用哪一个?例如,这是一个接收服务的构造函数——它怎么知道要使用哪个?

public async Task Invoke(HttpContext httpContext, IDbContextFactory<WibWorkspaceContext> contextFactory, IConfiguration configuration)

这可能吗?

c# entity-framework asp.net-core dependency-injection
© www.soinside.com 2019 - 2024. All rights reserved.