ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Data Namespace / VersionManager Class / GetVersions Method
Example

In This Topic
    GetVersions Method
    In This Topic
    Gets a IReadOnlyList of all the available Version in a given enterprise geodatabase. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public IReadOnlyList<Version> GetVersions()
    Public Function GetVersions() As IReadOnlyList(Of Version)

    Return Value

    A IReadOnlyList of all the available Version in a given enterprise geodatabase.
    Exceptions
    ExceptionDescription
    A geodatabase-related exception has occurred.
    This method or property must be called within the lambda passed to QueuedTask.Run
    Example
    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