Click or drag to resize

EntityModelGraph Methods

The EntityModelGraph type exposes the following members.

Methods
  NameDescription
Public methodAdd(TEdge)
Adds the provided edge to this graph. If the vertex(s) are not yet in this graph, it/they are added as well.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodAdd(TVertex)
Adds the provided vertex to this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodAdd(GraphBaseTVertex, TEdge)
Adds all elements (i.e. vertices and edges) from the provided graph to this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodCleanUpOrphanedInheritanceBasedForfs
Cleans the up orphaned inheritance based forfs, which will be orphaned due to the removal of the edge passed in.
Public methodConstructTargetPerEntityHierarchiesForEntities
Constructs the target per entity hierarchies for entities.
Public methodContains(TEdge)
Determines whether this graph contains the edge object specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodContains(TVertex)
Returns whether a vertex exists in this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodContainsEdge
Returns whether an edge exists in this graph between the start vertex and the end vertex specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodDeserializeEntitiesFromReader
Deserializes the entity definitions from reader.
Public methodDeserializeRelationshipsFromReader
Deserializes the relationships from reader.
Public methodDestroyHierarchies
Destroys the hierarchies.
Public methodDisconnect
Removes all edges from this graph between startVertex and endVertex. It will only remove edges between startVertex and endVertex, not between endVertex and startVertex, unless bothSides is set to true, then all edges between both vertices are removed, discarding their direction.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetAdjacencyListForVertex
Gets the adjacency list for vertex. The adjacency list is a list of TVertex - Hashset(Of TEdge) tuples, as a vertex can have multiple edges with the same related vertex.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetAllAddableEntitiesForTypedList
Gets all addable entities which are addable to the typed list specified
Public methodGetAllEntities
Gets all the entity definitions in flat enumerable
Public methodGetAllEntitiesByGroupName
Gets all entities, grouped by the group they're in
Public methodGetAllFieldsForGroupableModelElement
Gets all fields, inherited and defined for groupable element specified. First all fields inherited are returned, then the fields of the element itself. ValueTypeDefinitions can't inherit from other types, they return only the fields of themselves.
Public methodGetAllIndirectRelationships
Gets all indirect relationships available in the entity model
Public methodGetAllInheritedRelationshipsForEntityGroupedBySuperType
Gets all inherited relationships for entity, grouped by supertype
Public methodGetAllNormalRelationships
Gets all normal relationships available in the entity model.
Public methodGetAllOneToOnePkPkRelationships
Gets all one to one pk pk relationships, which can be used to construct e.g. inheritance hierarchies.
Public methodGetAllRelatedEntitiesWithRelationshipOfEntity
Gets all related entities of the entity specified (with the relationship(s) over which they're related), including related entities over inherited relationships.
Public methodGetAllRelationshipBasedUniqueConstraintsForEntity
Gets all relationship based unique constraints for the entity specified. Relationship based unique constraints are unique constraints which are not defined in the model itself but are present for 1:1 FK/UC-PK relationships where the entity specified is at the FK side. Only direct relationships are considered, not inherited relationships.
Public methodGetAllRelationshipsForEntity
Gets all relationships for the entity specified.
Public methodGetAllRelationshipsOfSpecificTypesForEntity
Gets all relationships of the specified types for entity.
Public methodGetAllSupertypeCandidates(EntityDefinition)
Gets all supertype candidates for the subtype passed in.
Public methodGetAllSupertypeCandidates(IEnumerableEntityDefinition)
Gets all supertype candidates to which all entities in subtypes can be made a subtype of.
Public methodGetAsNonDirectedCopy
Creates a NonDirectedGraph version of this graph. Always creates a copy, even if this graph is a non-directed graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdges
Gets all the edges between startVertex and endVertex.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdgesFromStartVertex
Gets all the edges started from the startvertex specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdgesSyncedAsList
Gets the edges as list, and perform this operation synced with the SyncRoot, to avoid threading issues.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdgesToEndVertex
Gets all the edges which end in the endVertex specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEntitiesTopologicalSortedBasedOnInheritance
Gets the entities in this graph topological sorted. This means that they're sorted based on the inheritance hierarchies they're in. All other entities are not considered depending on other entities. This method is not sorting based on relationships, but solely on inheritance hierachies.
Public methodGetEntitiesTopologicalSortedBasedOnNormalRelationships
Gets the entities topological sorted based on normal relationships. this means that they're sorted based on the 1:1/1:n/m:1 relationships they're in. All entities not having these relationships are not considered depending on other entities. Inheritance relationships are not taken into account.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetOrphanedVertices
Gets the orphaned vertices. Orphaned vertices are vertices which are not part of any edge in the graph
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetSubGraphTGraph
Gets a subgraph from this graph with the vertices and edges which match the functions specified. It creates a new instance and places the same vertex and edge instances in that graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetVerticesSyncedAsList
Gets the vertices as list, and perform this operation synced with the SyncRoot, to avoid threading issues.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodIsConnected
A graph is called connected if every pair of distinct vertices in the graph is connected (directly or indirectly). A connected component is a maximal connected subgraph of G. Each vertex belongs to exactly one connected component, as does each edge. A directed graph is called weakly connected if replacing all of its directed edges with undirected edges produces a connected (undirected) graph. It is strongly connected or strong if it contains a directed path from u to v and a directed path from v to u for every pair of vertices u,v. The strong components are the maximal strongly connected subgraphs. See http://en.wikipedia.org/wiki/Connectivity_(graph_theory) We will only check for a connected un-directed graph or a weakly connected directed graph (same logic).
(Inherited from GraphBaseTVertex, TEdge.)
Public methodMakeEntitiesAbstract
Makes the entities in the enumerable passed in abstract / not abstract
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMoveFieldsToSuperSubType
Moves the fields specified to destination from source, if destination and source are in the same inheritance hierarchy
Public methodObtainUCsWithMappableFieldsPerEntity
Obtains per entity definition the unique constraints with per UC the mappable fields it is build from.
Protected methodOnEdgeAdded
Called when an edge has been added
(Overrides GraphBaseTVertex, TEdgeOnEdgeAdded(TEdge).)
Protected methodOnEdgeAdding
Called when an edge is about to be added
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodOnEdgeRemoved
Called when an edge has been removed
(Overrides GraphBaseTVertex, TEdgeOnEdgeRemoved(TEdge).)
Protected methodOnEdgeRemoving
Called when an edge is about to be removed
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodOnVertexAdded
Called when a vertex has been added
(Overrides GraphBaseTVertex, TEdgeOnVertexAdded(TVertex).)
Protected methodOnVertexAdding
Called when a vertex is about to be added
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodOnVertexRemoved
Called when a vertex has been removed
(Overrides GraphBaseTVertex, TEdgeOnVertexRemoved(TVertex).)
Protected methodOnVertexRemoving
Called when a vertex is about to be removed
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodPerformSyncedAction(Action)
Performs the specified action, either inside a lock on SyncRoot if this graph is Synchronized, or normally, if the graph isn't synchronized.
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodPerformSyncedActionT(FuncT)
Performs the specified action, either inside a lock on SyncRoot if this graph is Synchronized, or normally, if the graph isn't synchronized.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(TEdge)
Removes the provided edge from the graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(TVertex)
Removes a vertex from this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(GraphBaseTVertex, TEdge)
Removes all elements (i.e. vertices and edges) of the provided graph from this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(GraphBaseTVertex, TEdge, Boolean)
Removes all elements (i.e. vertices and/or edges) of the provided graph from this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemoveFieldElementsBasedOnFieldType
Removes the fieldelements based on the passed in fieldtype
Public methodReplaceRelationship
Replaces the relationship passed in
Public methodSerializeToWriter
Serializes the data in this class to the serializer passed in
Public methodSetSuperTypeForEntity
Sets the super type for entity. To remove an entity as subtype altogether, pass null for newSuperType. If the entity already has a supertype set, it's first removed as a subtype from that entity. If the subType entity has subtypes and newSuperType is null, subType becomes the new root for these subtypes, so it forms a new hierarchy.
Public methodToString
Returns a String that represents the current Object.
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateEdgeForAddition
Validates if the edge passed in is addable to this graph structure. The start vertex and the end vertex for the are given as well. The same edge is present between startVertex and endVertex and also between endVertex and startVertex if the graph is a nondirected graph, hence the necessity of these two vertices in this routine
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateEdgeForRemoval
Validates if the edge passed in is removable from this graph structure. The start vertex and the end vertex for the are given as well. The same edge is present between startVertex and endVertex and also between endVertex and startVertex if the graph is a nondirected graph, hence the necessity of these two vertices in this routine
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateVertexForAddition
Validates if the vertex passed in is addable to this graph structure.
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateVertexForRemoval
Validates if the vertex passed in is removable from this graph structure.
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateVertexFromRemovalFromAdjacencyList
Validates if the vertexToRemove passed in is removable from the adjacency list of the vertex vertex. Removing the vertex means all edges from vertex to vertexToRemove are physically removed from the graph structure.
(Inherited from GraphBaseTVertex, TEdge.)
Top
See Also