Table of Contents

Class RelationshipProperty

Namespace
The.Relationships
Assembly
Instagile.dll
public abstract class RelationshipProperty : IProperty, IOwned, IHasChanges, ILazy
Inheritance
RelationshipProperty
Implements
Derived
Inherited Members

Fields

Logger

protected ILogger Logger

Field Value

ILogger

Properties

IsInitialised

public abstract bool IsInitialised { get; }

Property Value

bool

IsPresent

True if fully loaded, false if partially or fully unloaded.

public abstract bool IsPresent { get; }

Property Value

bool

Metadata

public RelationshipInfo Metadata { get; }

Property Value

RelationshipInfo

Parent

Owner (if any).

public EntityKernel Parent { get; }

Property Value

EntityKernel

TrackedKernels

public IEnumerable<RelationshipKernel> TrackedKernels { get; }

Property Value

IEnumerable<RelationshipKernel>

Methods

EnsurePresent()

Explict load - reads the related entities from the datastore if not already loaded.

public void EnsurePresent()

EnsurePresentAsync(CancellationToken?)

Explict load - reads the related entities from the datastore if not already loaded.

public Task EnsurePresentAsync(CancellationToken? cancellationToken = null)

Parameters

cancellationToken CancellationToken?

Returns

Task

GetAllAsLoaded()

public IReadOnlyList<EntityKernel> GetAllAsLoaded()

Returns

IReadOnlyList<EntityKernel>

GetAllAsync(CancellationToken?)

public Task<IReadOnlyList<EntityKernel>> GetAllAsync(CancellationToken? cancellationToken = null)

Parameters

cancellationToken CancellationToken?

Returns

Task<IReadOnlyList<EntityKernel>>

GetCurrentKernels()

protected abstract IEnumerable<RelationshipKernel> GetCurrentKernels()

Returns

IEnumerable<RelationshipKernel>

GetOrCreateKernelPair(RelationshipKernel, CloneState)

protected RelationshipKernel GetOrCreateKernelPair(RelationshipKernel sourcePair, CloneState state)

Parameters

sourcePair RelationshipKernel
state CloneState

Returns

RelationshipKernel

GetOriginalKernels()

protected abstract IEnumerable<RelationshipKernel> GetOriginalKernels()

Returns

IEnumerable<RelationshipKernel>

HasChanges()

true if the current value differs from its original

public bool HasChanges()

Returns

bool

InternalAddCurrent(Mutation, RelationshipKernel)

protected abstract bool InternalAddCurrent(Mutation m, RelationshipKernel kernel)

Parameters

m Mutation
kernel RelationshipKernel

Returns

bool

InternalAddOriginal(RelationshipKernel)

protected abstract void InternalAddOriginal(RelationshipKernel kernel)

Parameters

kernel RelationshipKernel

InternalCopy(Mutation, RelationshipProperty, RelationshipProperty, bool, CloneState)

protected abstract void InternalCopy(Mutation m, RelationshipProperty from, RelationshipProperty to, bool cloneEntities, CloneState state)

Parameters

m Mutation
from RelationshipProperty
to RelationshipProperty
cloneEntities bool
state CloneState

InternalHasChanges(bool)

protected abstract bool InternalHasChanges(bool ignoreDerived)

Parameters

ignoreDerived bool

Returns

bool

InternalRemoveCurrent(Mutation, RelationshipKernel)

protected abstract bool InternalRemoveCurrent(Mutation m, RelationshipKernel kernel)

Parameters

m Mutation
kernel RelationshipKernel

Returns

bool

InternalRemoveOriginal(Mutation, RelationshipKernel)

protected abstract bool InternalRemoveOriginal(Mutation m, RelationshipKernel kernel)

Parameters

m Mutation
kernel RelationshipKernel

Returns

bool

LazyLoad(Mutation)

protected abstract void LazyLoad(Mutation m)

Parameters

m Mutation

LazyLoadAsync(Mutation, CancellationToken?)

protected abstract Task LazyLoadAsync(Mutation m, CancellationToken? cancellationToken)

Parameters

m Mutation
cancellationToken CancellationToken?

Returns

Task

MarkUnchanged()

update original data so that it's no longer considered changed

public abstract void MarkUnchanged()

NeedsSave()

true if the value has non-derived changes, ones made deliberately by a user or business logic

public bool NeedsSave()

Returns

bool

NotifyChangedCore()

protected void NotifyChangedCore()

RaiseLoaded()

protected void RaiseLoaded()

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

Unload(RelationshipKernel)

protected abstract void Unload(RelationshipKernel forgottenKernel)

Parameters

forgottenKernel RelationshipKernel

Events

Loaded

public event EventHandler? Loaded

Event Type

EventHandler