/// <summary> /// Removes the relate to the specified foreign class. /// </summary> /// <param name="source">The source.</param> /// <param name="foreignClass">The foreign class.</param> /// <param name="role">The role.</param> public static void Remove(this IFeatureLayer source, IObjectClass foreignClass, esriRelRole role) { IRelationshipClassCollectionEdit edit = (IRelationshipClassCollectionEdit)source; IRelationshipClassCollection collection = (IRelationshipClassCollection)edit; foreach (var relClass in collection.FindRelationshipClasses(foreignClass, role).AsEnumerable()) { edit.RemoveRelationshipClass(relClass); } }
void IJoin.Perform() { _relClassEdit = (IRelationshipClassCollectionEdit)_featureLayer; _relClassEdit.RemoveAllRelationshipClasses(); _geoFeatureLayer = (IGeoFeatureLayer)_featureLayer; _dspRel = (IDisplayRelationshipClass)_geoFeatureLayer; _memRelFact = new MemoryRelationshipClassFactoryClass(); IObjectClass tblObj = (IObjectClass)_table; _relClass = _memRelFact.Open("test", _geoFeatureLayer.FeatureClass, _joinFieldOnLayer, tblObj, _joinFieldOnTable, "Forwards", "Backwards", _cardinality); _dspRel.DisplayRelationshipClass(_relClass, _type); }