Class EntityReferenceProperty
- Namespace
- The.Relationships
- Assembly
- Instagile.dll
public abstract class EntityReferenceProperty : RelationshipProperty, ILazy, IOwnedValue<IEntity?>, IValue<IEntity?>, INotifyValueChanged, IProperty, IOwned, IHasChanges
- Inheritance
-
EntityReferenceProperty
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
EntityReferenceProperty(RelationshipInfo, EntityKernel)
public EntityReferenceProperty(RelationshipInfo metadata, EntityKernel parent)
Parameters
metadataRelationshipInfoparentEntityKernel
Properties
CacheState
The cache state of the most recent GetCachedAsync call. Uncached if never loaded via GetCachedAsync or if loaded synchronously.
public ResultState CacheState { get; protected set; }
Property Value
HasValue
Gets a value indicating whether the reference has a non-null value. Does not require or force the property to be present.
public virtual bool HasValue { get; }
Property Value
ID
public Guid? ID { get; }
Property Value
- Guid?
IsDefaulted
true if the data is a system default rather than user-entered
public bool IsDefaulted { get; set; }
Property Value
IsInitialised
public override sealed bool IsInitialised { get; }
Property Value
IsPresent
True if fully loaded, false if partially or fully unloaded.
public override bool IsPresent { get; }
Property Value
OriginalValue
public IEntity? OriginalValue { get; }
Property Value
Value
read/write underlying data
public IEntity? Value { get; set; }
Property Value
Methods
GetCurrentKernels()
protected override IEnumerable<RelationshipKernel> GetCurrentKernels()
Returns
GetOriginalKernels()
protected override IEnumerable<RelationshipKernel> GetOriginalKernels()
Returns
GetRelatedEntityCachedAsync(Guid, RequestOptions, CancellationToken?)
protected abstract Task<IEntity?> GetRelatedEntityCachedAsync(Guid id, RequestOptions options, CancellationToken? cancellationToken)
Parameters
idGuidoptionsRequestOptionscancellationTokenCancellationToken?
Returns
GetText()
A textual representation of the underlying value, rather than the IValue itself.
public string GetText()
Returns
InternalAddCurrent(Mutation, RelationshipKernel)
protected override bool InternalAddCurrent(Mutation m, RelationshipKernel kernel)
Parameters
mMutationkernelRelationshipKernel
Returns
InternalAddOriginal(RelationshipKernel)
protected override void InternalAddOriginal(RelationshipKernel kernel)
Parameters
kernelRelationshipKernel
InternalCopy(Mutation, RelationshipProperty, RelationshipProperty, bool, CloneState)
protected override void InternalCopy(Mutation m, RelationshipProperty from, RelationshipProperty to, bool cloneEntities, CloneState state)
Parameters
mMutationfromRelationshipPropertytoRelationshipPropertycloneEntitiesboolstateCloneState
InternalHasChanges(bool)
protected override bool InternalHasChanges(bool ignoreDerived)
Parameters
ignoreDerivedbool
Returns
InternalRemoveCurrent(Mutation, RelationshipKernel)
protected override bool InternalRemoveCurrent(Mutation m, RelationshipKernel kernel)
Parameters
mMutationkernelRelationshipKernel
Returns
InternalRemoveOriginal(Mutation, RelationshipKernel)
protected override bool InternalRemoveOriginal(Mutation m, RelationshipKernel kernel)
Parameters
mMutationkernelRelationshipKernel
Returns
LazyLoad(Mutation)
protected override void LazyLoad(Mutation m)
Parameters
mMutation
LazyLoadAsync(Mutation, CancellationToken?)
protected override Task LazyLoadAsync(Mutation m, CancellationToken? cancellationToken)
Parameters
mMutationcancellationTokenCancellationToken?
Returns
LazyLoadCachedAsync(Mutation, RequestOptions, CancellationToken?)
protected Task LazyLoadCachedAsync(Mutation m, RequestOptions options, CancellationToken? cancellationToken)
Parameters
mMutationoptionsRequestOptionscancellationTokenCancellationToken?
Returns
MarkUnchanged()
update original data so that it's no longer considered changed
public override void MarkUnchanged()
OnCacheUpdate(IEntity?)
protected void OnCacheUpdate(IEntity? relatedEntity)
Parameters
relatedEntityIEntity
SetDefaulted()
clear any user-entered data and return to system defaults
public void SetDefaulted()
Unload(RelationshipKernel)
protected override void Unload(RelationshipKernel forgottenKernel)
Parameters
forgottenKernelRelationshipKernel
Events
ValueChanged
public event EventHandler? ValueChanged