2

只有在容器中註冊子類時,是否可以解析父對象?在.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

回答

2

您需要在DI容器中註冊DbContext,以便在解析時映射它。

services.AddScoped<DbContext, MyDbContext>(); 

這樣,任何時候DbContext要求只有當你與DI容器註冊它,它就會解析到MyDbContext