private void InvalidateEfToolsDefinition()

in src/dotnet/Rider.Plugins.EfCore/EntityFrameworkCoreHost.cs [117:145]


    private void InvalidateEfToolsDefinition(DotNetToolCache cache)
    {
      var allLocalTools = cache.ToolLocalCache.GetAllLocalTools();

      if (allLocalTools is null) return;

      var dotnetEfLocalTool = allLocalTools.FirstOrDefault(tool => tool.PackageId == KnownDotnetTools.EfCoreTools);

      var toolKind = ToolKind.None;
      var version = string.Empty;

      if (dotnetEfLocalTool is not null)
      {
        toolKind = ToolKind.Local;
        version = dotnetEfLocalTool.Version;
      }
      else
      {
        var dotnetEfGlobalTool = cache.ToolGlobalCache.GetGlobalTool(KnownDotnetTools.EfCoreTools);

        if (dotnetEfGlobalTool is { Count: 1 })
        {
          toolKind = ToolKind.Global;
          version = dotnetEfGlobalTool[0].Version.ToString();
        }
      }

      _efCoreModel.CliToolsDefinition.Value = new CliToolDefinition(version, toolKind);
    }