public void Delete( Description description )
Public Sub Delete( _ ByVal description As Description _ )
Parameters
- description
- Indicates the object to be deleted.
public void Delete( Description description )
Public Sub Delete( _ ByVal description As Description _ )
Exception | Description |
---|---|
System.ArgumentNullException | description is null. |
System.ArgumentException | The FID index cannot be deleted |
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
public void DeleteTableSnippet(Geodatabase geodatabase, Table table) { // Create a TableDescription object TableDescription tableDescription = new TableDescription(table.GetDefinition()); // Create a SchemaBuilder object SchemaBuilder schemaBuilder = new SchemaBuilder(geodatabase); // Add the deletion of the table to our list of DDL tasks schemaBuilder.Delete(tableDescription); // Execute the DDL bool success = schemaBuilder.Build(); }
public void DeleteFeatureClassSnippet(Geodatabase geodatabase, FeatureClass featureClass) { // Create a FeatureClassDescription object FeatureClassDescription featureClassDescription = new FeatureClassDescription(featureClass.GetDefinition()); // Create a SchemaBuilder object SchemaBuilder schemaBuilder = new SchemaBuilder(geodatabase); // Add the deletion fo the feature class to our list of DDL tasks schemaBuilder.Delete(featureClassDescription); // Execute the DDL bool success = schemaBuilder.Build(); }
public void DeleteFeatureDatasetSnippet(Geodatabase geodatabase) { // Deleting a FeatureDataset named as 'Parcel_Information' FeatureDatasetDefinition featureDatasetDefinition = geodatabase.GetDefinition<FeatureDatasetDefinition>("Parcel_Information"); FeatureDatasetDescription featureDatasetDescription = new FeatureDatasetDescription(featureDatasetDefinition); SchemaBuilder schemaBuilder = new SchemaBuilder(geodatabase); // Delete an existing feature dataset named as 'Parcel_Information' schemaBuilder.Delete(featureDatasetDescription); schemaBuilder.Build(); }
public void RemoveAttributeIndex(SchemaBuilder schemaBuilder, FeatureClassDefinition featureClassDefinition, string attributeIndexName) { // Find a index to be removed ArcGIS.Core.Data.Index indexToRemove = featureClassDefinition.GetIndexes().First(f => f.GetName().Equals(attributeIndexName)); // Index description of the index to be removed AttributeIndexDescription indexDescriptionToRemove = new AttributeIndexDescription(indexToRemove, new TableDescription(featureClassDefinition)); // Enqueue the DDL operation to remove index schemaBuilder.Delete(indexDescriptionToRemove); // Execute the delete index operation bool isDeleteIndexSuccess = schemaBuilder.Build(); }
public void RemoveSpatialIndex(SchemaBuilder schemaBuilder, FeatureClassDefinition featureClassDefinition) { // Create a spatial description SpatialIndexDescription spatialIndexDescription = new SpatialIndexDescription(new FeatureClassDescription(featureClassDefinition)); // Enqueue the DDL operation to remove index schemaBuilder.Delete(spatialIndexDescription); // Execute the delete index operation bool isDeleteIndexSuccess = schemaBuilder.Build(); }
public void DeleteDomain(Geodatabase geodatabase, string domainNameToBeDeleted = "PipeMaterial") { SchemaBuilder schemaBuilder = new SchemaBuilder(geodatabase); CodedValueDomain codedValueDomain = geodatabase.GetDomains().First(f => f.GetName().Equals(domainNameToBeDeleted)) as CodedValueDomain; CodedValueDomainDescription codedValueDomainDescription = new CodedValueDomainDescription(codedValueDomain); // Deleting a coded value domain schemaBuilder.Delete(codedValueDomainDescription); schemaBuilder.Build(); }
public void DeleteRelationshipClass(SchemaBuilder schemaBuilder, RelationshipClassDefinition relationshipClassDefinition) { schemaBuilder.Delete(new RelationshipClassDescription(relationshipClassDefinition)); schemaBuilder.Build(); }
await QueuedTask.Run(() => { using (var kg = GetKnowledgeGraph()) { if (kg == null) return; var entity_name = "PhoneCall"; var relate_name = "WhoCalledWho"; var entityDesc = new KnowledgeGraphEntityTypeDescription(entity_name); var relateDesc = new KnowledgeGraphRelationshipTypeDescription(relate_name); //Run the schema builder try { SchemaBuilder sb = new(kg); sb.Delete(entityDesc); sb.Delete(relateDesc); //Use the KnowledgeGraph extension method 'ApplySchemaEdits(...)' //to refresh the Pro UI if (!kg.ApplySchemaEdits(sb)) { var err_msg = string.Join(",", sb.ErrorMessages.ToArray()); System.Diagnostics.Debug.WriteLine($"Entity/Relate Delete error: {err_msg}"); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } });
await QueuedTask.Run(() => { using (var kg = GetKnowledgeGraph()) { if (kg == null) return; var entity_name = "PhoneCall"; //indexes are managed on the GDB objects... var entity_table_def = kg.GetDefinition<TableDefinition>(entity_name); var entity_table_desc = new TableDescription(entity_table_def); var indexes = entity_table_def.GetIndexes(); foreach (var idx in indexes) { System.Diagnostics.Debug.WriteLine($"Index {idx.GetName()}"); } var idx1 = indexes.FirstOrDefault( idx => idx.GetName().ToLower() == "Index1".ToLower()); var idx2 = indexes.FirstOrDefault( idx => idx.GetName().ToLower() == "Index2".ToLower()); if (idx1 == null && idx2 == null) return; //Run the schema builder try { SchemaBuilder sb = new(kg); if (idx1 != null) { var idx_attr = new AttributeIndexDescription(idx1, entity_table_desc); sb.Delete(idx_attr); } if (idx2 != null) { var idx_attr = new AttributeIndexDescription(idx2, entity_table_desc); sb.Delete(idx_attr); } if (!kg.ApplySchemaEdits(sb)) { var err_msg = string.Join(",", sb.ErrorMessages.ToArray()); System.Diagnostics.Debug.WriteLine($"Delete index error: {err_msg}"); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } });
await QueuedTask.Run(() => { using (var kg = GetKnowledgeGraph()) { if (kg == null) return; //Get all the domains in the KG var domains = kg.GetDomains(); var sb = new SchemaBuilder(kg); foreach (var domain in domains) { //skip the special provenance domain var name = domain.GetName(); if (string.Compare(name, "esri__provenanceSourceType", true) == 0) continue;//skip this one //Delete all other domains if (domain is RangeDomain rd) sb.Delete(new RangeDomainDescription(rd)); else if (domain is CodedValueDomain cvd) sb.Delete(new CodedValueDomainDescription(cvd)); } try { //note: will throw an InvalidOperationException if there are no operations //to run. Will also delete associated fields dependent on deleted domain(s) if (!kg.ApplySchemaEdits(sb)) { var err_msg = string.Join(",", sb.ErrorMessages.ToArray()); System.Diagnostics.Debug.WriteLine($"Delete domains error: {err_msg}"); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } });
Target Platforms: Windows 11, Windows 10