public void Delete(string name) { ResourceTypeItem item = (ResourceTypeItem)this [name]; IResourceList resList = _storage.GetAllResources(name); resList.DeleteAll(); _resourceTypeCache [item.Id] = null; _resourceTypeNameCache.Remove(name); ICountedResultSet rs = _resourceTypeTable.CreateModifiableResultSet(0, item.Id); try { _storage.SafeDeleteRecord(rs [0], "ResourceTypes.Delete"); } finally { rs.Dispose(); } IResource resourceTypeRes = _storage.FindUniqueResource("ResourceType", "Name", name); Debug.Assert(resourceTypeRes != null); resourceTypeRes.Delete(); }