同一应用程序中有不同版本的application EF Core数据库上下文程序集:
DbContext.dll
DbContextV1.dll
DbContextV2.dll
...
DbContextVn.dll
DbContext.dll
数据库特定版本V1。。Vn是使用Roslyn创建的,可以存储在应用程序目录中。
https://example.com/V1 should use DbContextV1.dll
https://example.com/V2 should use DbContextV2.dll
等。
DbContext已在中注册启动.cs作为作用域服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddHttpContextAccessor();
services.AddScoped<DbContext>();
...
}
如何强制DI使用特定于请求的程序集版本来创建DbContext实例?
是否可以创建自定义范围的服务工厂或使用其他DI库?
这是ASP.NET5 MVC核心应用程序,使用EF核心和Npgsql数据提供程序。