public EntityFrameworkCoreHost()

in src/dotnet/Rider.Plugins.EfCore/EntityFrameworkCoreHost.cs [44:82]


    public EntityFrameworkCoreHost(
      Lifetime lifetime,
      ISolution solution,
      SolutionTracker solutionTracker,
      ShellRdDispatcher shellRdDispatcher,
      SupportedMigrationsProjectsProvider supportedMigrationsProjectsProvider,
      SupportedStartupProjectsProvider supportedStartupProjectsProvider,
      MigrationsProvider migrationsProvider,
      DbContextProvider dbContextProvider,
      EfCorePackagesProvider packagesProvider,
      ILogger logger)
    {
      _lifetime = lifetime;
      _solution = solution;
      _solutionTracker = solutionTracker;
      _shellRdDispatcher = shellRdDispatcher;
      _supportedMigrationsProjectsProvider = supportedMigrationsProjectsProvider;
      _supportedStartupProjectsProvider = supportedStartupProjectsProvider;
      _migrationsProvider = migrationsProvider;
      _dbContextProvider = dbContextProvider;
      _packagesProvider = packagesProvider;
      _logger = logger;

      _efCoreModel = solution.GetProtocolSolution().GetRiderEfCoreModel();

      _efCoreModel.HasAvailableMigrations.SetSync(HasAvailableMigrations);
      _efCoreModel.GetAvailableMigrations.SetSync(GetAvailableMigrations);
      _efCoreModel.GetAvailableDbContexts.SetSync(GetAvailableDbContexts);
      _efCoreModel.GetAvailableDbProviders.SetSync(GetAvailableDbProviders);
      _efCoreModel.GetAvailableToolPackages.SetSync(GetAvailableToolsPackages);
      _efCoreModel.RefreshDotNetToolsCache.SetVoid(RefreshDotNetToolsCache);

      _solutionTracker.OnAfterSolutionUpdate += InvalidateProjects;
      _solutionTracker.OnAfterToolsCacheUpdate += InvalidateEfToolsDefinition;
      _solutionTracker.OnAfterNuGetUpdate += InvalidateProjects;
      _solutionTracker.OnAfterSolutionLoad += OnSolutionLoaded;

      _solutionTracker.Setup();
    }