Gets an
IReadOnlyList of specific
Definition instances associated with each dataset of type in the geodatabase. This method must be called on the MCT. Use QueuedTask.Run.
Type Parameters
- T
-
The type of dataset definition.
Return Value
A
IReadOnlyList of specific
Definition instances corresponding to type .
Obtaining List of Defintions from Geodatabase
public async Task ObtainingDefinitionsFromGeodatabase()
{
await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
using (Geodatabase geodatabase = new Geodatabase(
new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde"))))
{
var enterpriseDefinitions =
geodatabase.GetDefinitions<FeatureClassDefinition>();
IEnumerable<Definition> featureClassesHavingGlobalID =
enterpriseDefinitions.Where(definition => definition.HasGlobalID());
var featureDatasetDefinitions =
geodatabase.GetDefinitions<FeatureDatasetDefinition>();
bool electionRelatedFeatureDatasets =
featureDatasetDefinitions.Any(
definition => definition.GetName().Contains("Election"));
var attributedRelationshipClassDefinitions =
geodatabase.GetDefinitions<AttributedRelationshipClassDefinition>();
var relationshipClassDefinitions =
geodatabase.GetDefinitions<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 (var relationshipClassDefinition in relationshipClassDefinitions)
{
IReadOnlyList<Definition> definitions =
geodatabase.GetRelatedDefinitions(relationshipClassDefinition,
DefinitionRelationshipType.DatasetsRelatedThrough);
foreach (var definition in definitions)
{
System.Diagnostics.Debug.WriteLine(
$"Feature class in the RelationshipClass is:{definition.GetName()}");
}
}
}
});
}
Target Platforms: Windows 11, Windows 10, Windows 8.1
ArcGIS Pro version: 2.0 or higher.