Class RelationshipPath
- Namespace
- The.Relationships
- Assembly
- Instagile.dll
public abstract record RelationshipPath : IEquatable<RelationshipPath>
- Inheritance
-
RelationshipPath
- Implements
- Derived
- Inherited Members
Remarks
This is a walk in the graph-theoretic sense, not a path, but "path" aligns with common usage and we have no direct use case for what graph theory considers a path.
This is also a morphism (or "arrow") in the category of entities and relationships.
Properties
IsNavigable
public abstract bool IsNavigable { get; }
Property Value
Methods
Append(RelationshipInfo)
public RelationshipPath Append(RelationshipInfo relationship)
Parameters
relationshipRelationshipInfo
Returns
Concat(RelationshipPath)
public abstract RelationshipPath Concat(RelationshipPath other)
Parameters
otherRelationshipPath
Returns
ContainsAnyManyToManyRelationships()
public abstract bool ContainsAnyManyToManyRelationships()
Returns
ContainsAnyTransientRelationships()
public abstract bool ContainsAnyTransientRelationships()
Returns
Create(IEntityInfo)
public static RelationshipPath Create(IEntityInfo type)
Parameters
typeIEntityInfo
Returns
Create(RelationshipInfo, params RelationshipInfo[])
public static RelationshipPath Create(RelationshipInfo firstRelationship, params RelationshipInfo[] otherRelationships)
Parameters
firstRelationshipRelationshipInfootherRelationshipsRelationshipInfo[]
Returns
GetDestination()
public abstract IEntityInfo GetDestination()
Returns
GetLength()
public abstract int GetLength()
Returns
GetPrefixes()
Returns all of this path's prefixes. A prefix is a subpath that the given path starts with. This path and the empty path are included.
public abstract IEnumerable<RelationshipPath> GetPrefixes()
Returns
GetSource()
public abstract IEntityInfo GetSource()
Returns
GetSuffixes()
Returns all of this path's suffixes. A suffix is a subpath that the given path ends with. This path and the empty path are included.
public abstract IEnumerable<RelationshipPath> GetSuffixes()
Returns
IsPrefixOf(RelationshipPath)
public abstract bool IsPrefixOf(RelationshipPath other)
Parameters
otherRelationshipPath
Returns
IsStrictPrefixOf(RelationshipPath)
Returns true if this path is a prefix of other but not equal to other.
public bool IsStrictPrefixOf(RelationshipPath other)
Parameters
otherRelationshipPath
Returns
IsSuffixOf(RelationshipPath)
public abstract bool IsSuffixOf(RelationshipPath other)
Parameters
otherRelationshipPath
Returns
Prepend(RelationshipInfo)
public RelationshipPath Prepend(RelationshipInfo relationship)
Parameters
relationshipRelationshipInfo
Returns
Reverse()
public abstract RelationshipPath Reverse()
Returns
ToString()
Returns a string that represents the current object.
public override abstract string ToString()
Returns
- string
A string that represents the current object.