Table of Contents

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

bool

Methods

Append(RelationshipInfo)

public RelationshipPath Append(RelationshipInfo relationship)

Parameters

relationship RelationshipInfo

Returns

RelationshipPath

Concat(RelationshipPath)

public abstract RelationshipPath Concat(RelationshipPath other)

Parameters

other RelationshipPath

Returns

RelationshipPath

ContainsAnyManyToManyRelationships()

public abstract bool ContainsAnyManyToManyRelationships()

Returns

bool

ContainsAnyTransientRelationships()

public abstract bool ContainsAnyTransientRelationships()

Returns

bool

Create(IEntityInfo)

public static RelationshipPath Create(IEntityInfo type)

Parameters

type IEntityInfo

Returns

RelationshipPath

Create(RelationshipInfo, params RelationshipInfo[])

public static RelationshipPath Create(RelationshipInfo firstRelationship, params RelationshipInfo[] otherRelationships)

Parameters

firstRelationship RelationshipInfo
otherRelationships RelationshipInfo[]

Returns

RelationshipPath

GetDestination()

public abstract IEntityInfo GetDestination()

Returns

IEntityInfo

GetLength()

public abstract int GetLength()

Returns

int

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

IEnumerable<RelationshipPath>

GetSource()

public abstract IEntityInfo GetSource()

Returns

IEntityInfo

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

IEnumerable<RelationshipPath>

IsPrefixOf(RelationshipPath)

public abstract bool IsPrefixOf(RelationshipPath other)

Parameters

other RelationshipPath

Returns

bool

IsStrictPrefixOf(RelationshipPath)

Returns true if this path is a prefix of other but not equal to other.

public bool IsStrictPrefixOf(RelationshipPath other)

Parameters

other RelationshipPath

Returns

bool

IsSuffixOf(RelationshipPath)

public abstract bool IsSuffixOf(RelationshipPath other)

Parameters

other RelationshipPath

Returns

bool

Prepend(RelationshipInfo)

public RelationshipPath Prepend(RelationshipInfo relationship)

Parameters

relationship RelationshipInfo

Returns

RelationshipPath

Reverse()

public abstract RelationshipPath Reverse()

Returns

RelationshipPath

ToString()

Returns a string that represents the current object.

public override abstract string ToString()

Returns

string

A string that represents the current object.