public void AddingIndexes(SchemaBuilder schemaBuilder, FeatureClassDefinition featureClassDefinition)
{
// Field names to add in the attribute index
string fieldName = featureClassDefinition.GetFields().First(f => f.AliasName.Contains("Name")).Name;
string fieldAddress = featureClassDefinition.GetFields().First(f => f.AliasName.Contains("Address")).Name;
// Creating an attribute index with index name 'Idx' and two participating fields' name
AttributeIndexDescription attributeIndexDescription = new AttributeIndexDescription("Idx", new TableDescription(featureClassDefinition), new List<string> { fieldName, fieldAddress });
// Enqueue DDL operation for an attribute index creation
schemaBuilder.Create(attributeIndexDescription);
// Creating the spatial index
SpatialIndexDescription spatialIndexDescription = new SpatialIndexDescription(new FeatureClassDescription(featureClassDefinition));
// Enqueue DDL operation for the spatial index creation
schemaBuilder.Create(spatialIndexDescription);
// Execute build indexes operation
bool isBuildSuccess = schemaBuilder.Build();
if (!isBuildSuccess)
{
IReadOnlyList<string> errors = schemaBuilder.ErrorMessages;
// Iterate and handle errors
}
}