Skip to content

DiGi.Core.Relation.Interfaces

github-actions[bot] edited this page Jul 15, 2026 · 2 revisions

DiGi.Core.Relation.Interfaces Namespace

Interfaces

IBidirectionalRelation Interface

Defines the contract for a bidirectional relation between unique objects.

public interface IBidirectionalRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
OneToManyBidirectionalRelation<From,To>
OneToOneBidirectionalRelation<From,To>
IBidirectionalRelation<X,Y>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

IBidirectionalRelation<X,Y> Interface

Defines the contract for a bidirectional relation between two types of unique objects.

public interface IBidirectionalRelation<X,Y> : DiGi.Core.Relation.Interfaces.IBidirectionalRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<X, Y>
    where X : DiGi.Core.Interfaces.IUniqueObject
    where Y : DiGi.Core.Interfaces.IUniqueObject

Type parameters

X

Y

Derived
OneToManyBidirectionalRelation<From,To>
OneToOneBidirectionalRelation<From,To>

Implements IBidirectionalRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<X,Y>

IDirectionalRelation Interface

Defines the contract for a directional relation between unique objects.

public interface IDirectionalRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
IDirectionalRelation<XUniqueObject,YUniqueObject>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

IDirectionalRelation<XUniqueObject,YUniqueObject> Interface

Defines the contract for a directional relation between two types of unique objects.

public interface IDirectionalRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IDirectionalRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
    where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
    where YUniqueObject : DiGi.Core.Interfaces.IUniqueObject

Type parameters

XUniqueObject

The type of the source unique object.

YUniqueObject

The type of the target unique object.

Derived
OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>

Implements IDirectionalRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>

IManyToManyRelation Interface

Defines the contract for a many-to-many relationship between unique objects.

public interface IManyToManyRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
ManyToManyRelation<From,To>
IManyToManyRelation<XUniqueObject,YUniqueObject>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Properties

IManyToManyRelation.UniqueReferences_From Property

Gets a list of unique references on the "from" side of the relation.

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_From { get; }

Property Value

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>

IManyToManyRelation.UniqueReferences_To Property

Gets a list of unique references on the "to" side of the relation.

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_To { get; }

Property Value

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>

IManyToManyRelation<XUniqueObject,YUniqueObject> Interface

Defines the contract for a many-to-many relationship between two types of unique objects.

public interface IManyToManyRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IManyToManyRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
    where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
    where YUniqueObject : DiGi.Core.Interfaces.IUniqueObject

Type parameters

XUniqueObject

YUniqueObject

Derived
ManyToManyRelation<From,To>

Implements IManyToManyRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>

IManyToOneRelation Interface

Defines the contract for a many-to-one relationship between unique objects.

public interface IManyToOneRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
ManyToOneRelation<From,To>
IManyToOneRelation<XUniqueObject,YUniqueObject>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Properties

IManyToOneRelation.UniqueReferences_From Property

Gets a list of unique references on the "from" side of the relation.

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_From { get; }

Property Value

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>

IManyToOneRelation.UniqueReference_To Property

Gets the unique reference on the "to" side of the relation.

DiGi.Core.Interfaces.IUniqueReference? UniqueReference_To { get; }

Property Value

DiGi.Core.Interfaces.IUniqueReference

IManyToOneRelation<XUniqueObject,YUniqueObject> Interface

Defines the contract for a many-to-one relationship between two types of unique objects.

public interface IManyToOneRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IManyToOneRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
    where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
    where YUniqueObject : DiGi.Core.Interfaces.IUniqueObject

Type parameters

XUniqueObject

YUniqueObject

Derived
ManyToOneRelation<From,To>

Implements IManyToOneRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>

IOneToManyRelation Interface

Defines the contract for a one-to-many relationship between unique objects.

public interface IOneToManyRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
OneToManyRelation<From,To>
IOneToManyRelation<XUniqueObject,YUniqueObject>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Properties

IOneToManyRelation.UniqueReferences_To Property

Gets a list of unique references on the "to" side of the relation.

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_To { get; }

Property Value

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>

IOneToManyRelation.UniqueReference_From Property

Gets the unique reference on the "from" side of the relation.

DiGi.Core.Interfaces.IUniqueReference? UniqueReference_From { get; }

Property Value

DiGi.Core.Interfaces.IUniqueReference

IOneToManyRelation<XUniqueObject,YUniqueObject> Interface

Defines the contract for a one-to-many relationship between two types of unique objects.

public interface IOneToManyRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IOneToManyRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
    where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
    where YUniqueObject : DiGi.Core.Interfaces.IUniqueObject

Type parameters

XUniqueObject

YUniqueObject

Derived
OneToManyRelation<From,To>

Implements IOneToManyRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>

IOneToOneRelation Interface

Defines the contract for a one-to-one relationship between unique objects.

public interface IOneToOneRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
OneToOneRelation<From,To>
IOneToOneRelation<XUniqueObject,YUniqueObject>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Properties

IOneToOneRelation.UniqueReference_From Property

Gets the unique reference on the "from" side of the relation.

DiGi.Core.Interfaces.IUniqueReference? UniqueReference_From { get; }

Property Value

DiGi.Core.Interfaces.IUniqueReference

IOneToOneRelation.UniqueReference_To Property

Gets the unique reference on the "to" side of the relation.

DiGi.Core.Interfaces.IUniqueReference? UniqueReference_To { get; }

Property Value

DiGi.Core.Interfaces.IUniqueReference

IOneToOneRelation<XUniqueObject,YUniqueObject> Interface

Defines the contract for a one-to-one relationship between two types of unique objects.

public interface IOneToOneRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IOneToOneRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
    where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
    where YUniqueObject : DiGi.Core.Interfaces.IUniqueObject

Type parameters

XUniqueObject

YUniqueObject

Derived
OneToOneRelation<From,To>

Implements IOneToOneRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>

IRelation Interface

Defines the contract for a relationship between unique objects.

public interface IRelation : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
ManyToManyRelation<From,To>
ManyToOneRelation<From,To>
OneToManyBidirectionalRelation<From,To>
OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
OneToManyRelation<From,To>
OneToOneBidirectionalRelation<From,To>
OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
OneToOneRelation<From,To>
Relation
Relation<From,To>
IBidirectionalRelation
IBidirectionalRelation<X,Y>
IDirectionalRelation
IDirectionalRelation<XUniqueObject,YUniqueObject>
IManyToManyRelation
IManyToManyRelation<XUniqueObject,YUniqueObject>
IManyToOneRelation
IManyToOneRelation<XUniqueObject,YUniqueObject>
IOneToManyRelation
IOneToManyRelation<XUniqueObject,YUniqueObject>
IOneToOneRelation
IOneToOneRelation<XUniqueObject,YUniqueObject>
IRelation<From,To>

Implements DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Properties

IRelation.UniqueReferences Property

Gets a list containing all unique references in this relation.

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences { get; }

Property Value

System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>

Methods

IRelation.Contains(RelationSide, IUniqueReference) Method

Determines whether the relation contains the specified unique reference on the given side.

bool Contains(DiGi.Core.Relation.Enums.RelationSide relationSide, DiGi.Core.Interfaces.IUniqueReference? uniqueReference);

Parameters

relationSide RelationSide

uniqueReference DiGi.Core.Interfaces.IUniqueReference

Returns

System.Boolean

IRelation.GetType(RelationSide) Method

Gets the type of the object on the specified side of the relation.

System.Type? GetType(DiGi.Core.Relation.Enums.RelationSide relationSide);

Parameters

relationSide RelationSide

Returns

System.Type

IRelation.Has(RelationSide) Method

Determines whether the relation has a reference on the specified side.

bool Has(DiGi.Core.Relation.Enums.RelationSide relationSide);

Parameters

relationSide RelationSide

Returns

System.Boolean

IRelation.Remove(RelationSide, IUniqueReference) Method

Removes a unique reference from the specified side of the relation.

bool Remove(DiGi.Core.Relation.Enums.RelationSide relationSide, DiGi.Core.Interfaces.IUniqueReference? uniqueReference);

Parameters

relationSide RelationSide

uniqueReference DiGi.Core.Interfaces.IUniqueReference

Returns

System.Boolean

IRelation.Remove<TUniqueReference>(RelationSide, IEnumerable<TUniqueReference>) Method

Removes multiple unique references from the specified side of the relation.

System.Collections.Generic.List<TUniqueReference>? Remove<TUniqueReference>(DiGi.Core.Relation.Enums.RelationSide relationSide, System.Collections.Generic.IEnumerable<TUniqueReference>? uniqueReferences)
    where TUniqueReference : DiGi.Core.Interfaces.IUniqueReference;

Type parameters

TUniqueReference

Parameters

relationSide RelationSide

uniqueReferences System.Collections.Generic.IEnumerable<TUniqueReference>

Returns

System.Collections.Generic.List<TUniqueReference>

IRelation<From,To> Interface

Defines the contract for a relationship between two types of unique objects.

public interface IRelation<From,To> : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
    where From : DiGi.Core.Interfaces.IUniqueObject
    where To : DiGi.Core.Interfaces.IUniqueObject

Type parameters

From

To

Derived
ManyToManyRelation<From,To>
ManyToOneRelation<From,To>
OneToManyBidirectionalRelation<From,To>
OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
OneToManyRelation<From,To>
OneToOneBidirectionalRelation<From,To>
OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
OneToOneRelation<From,To>
Relation<From,To>
IBidirectionalRelation<X,Y>
IDirectionalRelation<XUniqueObject,YUniqueObject>
IManyToManyRelation<XUniqueObject,YUniqueObject>
IManyToOneRelation<XUniqueObject,YUniqueObject>
IOneToManyRelation<XUniqueObject,YUniqueObject>
IOneToOneRelation<XUniqueObject,YUniqueObject>

Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Clone this wiki locally