Click or drag to resize
ObjectGraphUtils.ProduceAdjacencyLists<TEntity> 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.

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

Parameters

entityToExamine
Type: TEntity
Entity to examine
adjacencyLists
Type: System.Collections.Generic.Dictionary<Guid, Dictionary<Guid, TEntity>>
The hashtable with per seen entity (objectid, key) the adjancency list (Hashtable of entities, key is objectid, value is entity)
recursed
Type: System.Collections.Generic.Dictionary<Guid, TEntity>
The hashtable with objectids of the entities already processed to build the adjacency lists.

Type Parameters

TEntity
See Also