ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data Namespace / DefinitionRelationshipType Enumeration
Example Example Version

DefinitionRelationshipType Enumeration
Specifies the relationship between dataset definitions.
Syntax
Members
MemberDescription
DatasetInFeatureDatasetThe Dataset contained within an FeatureDataset.
DatasetsRelatedThroughThe Dataset related through an RelationshipClass or AttributedRelationshipClass.
FeatureClassInUtilityNetworkThe FeatureClass participating in an ArcGIS.Core.Data.UtilityNetwork.UtilityNetwork.
TableInUtilityNetworkThe Table participating in an ArcGIS.Core.Data.UtilityNetwork.UtilityNetwork.
Example
Obtaining Related Definitions from Geodatabase
public async Task ObtainingRelatedDefinitionsFromGeodatabase()
{
    await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
    {
        using (Geodatabase geodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde"))))
        {
            // Remember the qualification of DatabaseName. for the RelationshipClass.

            RelationshipClassDefinition enterpriseDefinition = geodatabase.GetDefinition<RelationshipClassDefinition>("LocalGovernment.GDB.AddressPointHasSiteAddresses");
            IReadOnlyList<Definition> enterpriseDefinitions = geodatabase.GetRelatedDefinitions(enterpriseDefinition, DefinitionRelationshipType.DatasetsRelatedThrough);
            FeatureClassDefinition enterpriseAddressPointDefinition = enterpriseDefinitions.First(defn => defn.GetName().Equals("LocalGovernment.GDB.AddressPoint"))
        as FeatureClassDefinition;

            FeatureDatasetDefinition featureDatasetDefinition = geodatabase.GetDefinition<FeatureDatasetDefinition>("LocalGovernment.GDB.Address");
            IReadOnlyList<Definition> datasetsInAddressDataset = geodatabase.GetRelatedDefinitions(featureDatasetDefinition, DefinitionRelationshipType.DatasetInFeatureDataset);
            FeatureClassDefinition addressPointInAddressDataset = datasetsInAddressDataset.First(defn => defn.GetName().Equals("LocalGovernment.GDB.AddressPoint"))
        as FeatureClassDefinition;

            RelationshipClassDefinition addressPointHasSiteAddressInAddressDataset = datasetsInAddressDataset.First(defn => defn.GetName().Equals("LocalGovernment.GDB.AddressPointHasSiteAddresses"))
        as RelationshipClassDefinition;
        }
    });
}
Obtaining related Feature Classes from a Relationship Class
public async Task GetFeatureClassesInRelationshipClassAsync()
{
    await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
    {
        using (Geodatabase geodatabase = new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(@"C:\Data\LocalGovernment.gdb"))))
        {
            IReadOnlyList<RelationshipClassDefinition> relationshipClassDefinitions = geodatabase.GetDefinitions<RelationshipClassDefinition>();

            foreach (RelationshipClassDefinition relationshipClassDefinition in relationshipClassDefinitions)
            {
                IReadOnlyList<Definition> definitions = geodatabase.GetRelatedDefinitions(relationshipClassDefinition, DefinitionRelationshipType.DatasetsRelatedThrough);

                foreach (Definition definition in definitions)
                {
                    System.Diagnostics.Debug.WriteLine($"Feature class in the RelationshipClass is:{definition.GetName()}");
                }
            }
        }
    });
}
Inheritance Hierarchy

System.Object
   System.ValueType
      System.Enum
         ArcGIS.Core.Data.DefinitionRelationshipType

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also