Click or drag to resize

ObjectGraphUtilsProduceAdjacencyListsTEntity Method

Produces adjancency lists for the entities in the complete graph reachable from the entity passed in. This routine figures out the graph to process by walking it, using a hashtable (recursed) to take note which nodes are already processed. When it finds an entity A and an entity B having a relation in the graph (have 'an edge'), and A is depending on B, we add B to the adjacency list of A, though we don't add A to the adjacency list of B. Additionally, it adds the type of B to the adjacency list of the type of A. This way we can determine the order of types.

Namespace:  SD.LLBLGen.Pro.ORMSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: (
public void ProduceAdjacencyLists<TEntity>(
	TEntity entityToExamine,
	Dictionary<Guid, Dictionary<Guid, TEntity>> adjacencyLists,
	Dictionary<Guid, TEntity> recursed,
	MultiValueDictionary<Type, Type> typeAdjacencyLists
where TEntity : class, IEntityCore


Type: TEntity
Entity to examine
Type: System.Collections.GenericDictionaryGuid, DictionaryGuid, TEntity
The dictionary with per seen entity (objectid, key) the adjancency list (Hashtable of entities, key is objectid, value is entity)
Type: System.Collections.GenericDictionaryGuid, TEntity
The hashtable with objectids of the entities already processed to build the adjacency lists.
Type: SD.LLBLGen.Pro.ORMSupportClassesMultiValueDictionaryType, Type
The dictionary with per type (key) the list of types it depends on

Type Parameters

See Also