ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Data Namespace / Geodatabase Class / GetVersionManager Method
Example

In This Topic
    GetVersionManager Method
    In This Topic
    Gets the VersionManager associated with this geodatabase if it supports versioning. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public VersionManager GetVersionManager()
    Public Function GetVersionManager() As VersionManager

    Return Value

    The VersionManager associated with this geodatabase if it supports versioning.
    Exceptions
    ExceptionDescription
    This geodatabase does not support versioning.
    Remarks
    If IsVersioningSupported returns false, calling this method will result in an exception.
    Example
    Connecting to a Version
    public Geodatabase ConnectToVersion(Geodatabase geodatabase, string versionName)
    {
      Geodatabase connectedVersion = null;
    
      if (geodatabase.IsVersioningSupported())
      {
        using (VersionManager versionManager = geodatabase.GetVersionManager())
        using (Version version = versionManager.GetVersion(versionName))
        {
          connectedVersion = version.Connect();
        }
      }
      return connectedVersion;
    }
    Working with Versions
    public async Task WorkingWithVersions()
    {
      await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
      {
        using (Geodatabase geodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri("path\\to\\sde\\file"))))
        using (VersionManager versionManager = geodatabase.GetVersionManager())
        {
          IReadOnlyList<Version> versionList = versionManager.GetVersions();
    
          //The default version will have a null Parent
          Version defaultVersion = versionList.First(version => version.GetParent() == null);
    
          IEnumerable<Version> publicVersions = versionList.Where(
            version => version.GetAccessType() == VersionAccessType.Public);
          Version qaVersion = defaultVersion.GetChildren().First(
            version => version.GetName().Contains("QA"));
    
          Geodatabase qaVersionGeodatabase = qaVersion.Connect();
    
          FeatureClass currentFeatureClass = geodatabase.OpenDataset<FeatureClass>("featureClassName");
          FeatureClass qaFeatureClass = qaVersionGeodatabase.OpenDataset<FeatureClass>("featureClassName");
        }
      });
    }
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    See Also