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
Properties
IsInitialised
public abstract bool IsInitialised { get; }
Property Value
IsPresent
True if fully loaded, false if partially or fully unloaded.
public abstract bool IsPresent { get; }
Property Value
Metadata
public RelationshipInfo Metadata { get; }
Property Value
Parent
Owner (if any).
public EntityKernel Parent { get; }
Property Value
TrackedKernels
public IEnumerable<RelationshipKernel> TrackedKernels { get; }
Property Value
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
cancellationTokenCancellationToken?
Returns
GetAllAsLoaded()
public IReadOnlyList<EntityKernel> GetAllAsLoaded()
Returns
GetAllAsync(CancellationToken?)
public Task<IReadOnlyList<EntityKernel>> GetAllAsync(CancellationToken? cancellationToken = null)
Parameters
cancellationTokenCancellationToken?
Returns
GetCurrentKernels()
protected abstract IEnumerable<RelationshipKernel> GetCurrentKernels()
Returns
GetOrCreateKernelPair(RelationshipKernel, CloneState)
protected RelationshipKernel GetOrCreateKernelPair(RelationshipKernel sourcePair, CloneState state)
Parameters
sourcePairRelationshipKernelstateCloneState
Returns
GetOriginalKernels()
protected abstract IEnumerable<RelationshipKernel> GetOriginalKernels()
Returns
HasChanges()
true if the current value differs from its original
public bool HasChanges()
Returns
InternalAddCurrent(Mutation, RelationshipKernel)
protected abstract bool InternalAddCurrent(Mutation m, RelationshipKernel kernel)
Parameters
mMutationkernelRelationshipKernel
Returns
InternalAddOriginal(RelationshipKernel)
protected abstract void InternalAddOriginal(RelationshipKernel kernel)
Parameters
kernelRelationshipKernel
InternalCopy(Mutation, RelationshipProperty, RelationshipProperty, bool, CloneState)
protected abstract void InternalCopy(Mutation m, RelationshipProperty from, RelationshipProperty to, bool cloneEntities, CloneState state)
Parameters
mMutationfromRelationshipPropertytoRelationshipPropertycloneEntitiesboolstateCloneState
InternalHasChanges(bool)
protected abstract bool InternalHasChanges(bool ignoreDerived)
Parameters
ignoreDerivedbool
Returns
InternalRemoveCurrent(Mutation, RelationshipKernel)
protected abstract bool InternalRemoveCurrent(Mutation m, RelationshipKernel kernel)
Parameters
mMutationkernelRelationshipKernel
Returns
InternalRemoveOriginal(Mutation, RelationshipKernel)
protected abstract bool InternalRemoveOriginal(Mutation m, RelationshipKernel kernel)
Parameters
mMutationkernelRelationshipKernel
Returns
LazyLoad(Mutation)
protected abstract void LazyLoad(Mutation m)
Parameters
mMutation
LazyLoadAsync(Mutation, CancellationToken?)
protected abstract Task LazyLoadAsync(Mutation m, CancellationToken? cancellationToken)
Parameters
mMutationcancellationTokenCancellationToken?
Returns
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
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
forgottenKernelRelationshipKernel
Events
Loaded
public event EventHandler? Loaded