在.Net核心中解决依赖关系作为父项

问题描述:

只有在容器中注册子类时,是否可以解析父对象?在.Net核心中解决依赖关系作为父项

这是我的情况。我注册MyDbContext,它来源于DbContext

services.AddDbContext<MyDbContext>(options =>options.UseSqlServer(connectionString, 
          sql => sql.MigrationsAssembly(migrationsAssembly))); 

是否有可能解决上述实例作为DbContext

DbContext applicationContext = context.RequestServices.GetService<DbContext>(); 

目前我得到空了上面的代码。有没有可能从容器中解决这个问题。我需要这样做,因为上面的代码位于框架/基础结构代码的中间件中。

+0

。即'services.AddScoped ();' – Nkosi

您需要在DI容器中注册DbContext,以便在解析时映射它。

services.AddScoped<DbContext, MyDbContext>(); 

这样,任何时候DbContext要求只有当你与DI容器注册它,它就会解析到MyDbContext