Class Ref<T>
Implementation of an entity reference.
Inherited Members
Namespace: Kephas.Data
Assembly: Kephas.Data.dll
Syntax
public class Ref<T> : RefBase, IRef<T>, IRef, IIdentifiable where T : class, IIdentifiable
Type Parameters
Name | Description |
---|---|
T | The referenced entity type. |
Constructors
| Improve this Doc View SourceRef(Object, String)
Initializes a new instance of the Ref<T> class.
Declaration
public Ref(object containerEntity, string refFieldName)
Parameters
Type | Name | Description |
---|---|---|
System.Object | containerEntity | The entity containing the reference. |
System.String | refFieldName | Name of the reference identifier property. |
Properties
| Improve this Doc View SourceEntity
Gets or sets the referenced entity.
Declaration
public virtual T Entity { get; set; }
Property Value
Type | Description |
---|---|
T | The referenced entity. |
Remarks
The entity is not ensured to be set prior to calling GetAsync(Boolean, CancellationToken) due to performance reasons, but the actual behavior is left to the implementor.
EntityType
Gets the type of the referenced entity.
Declaration
public Type EntityType { get; }
Property Value
Type | Description |
---|---|
System.Type | The type of the referenced entity. |
Id
Gets or sets the identifier of the referenced entity.
Declaration
public virtual object Id { get; set; }
Property Value
Type | Description |
---|---|
System.Object | The identifier of the referenced entity. |
IsEmpty
Gets a value indicating whether the reference is empty/not set.
Declaration
public virtual bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
System.Boolean | True if this reference is empty, false if not. |
Methods
| Improve this Doc View SourceGetAsync(Boolean, CancellationToken)
Gets the referenced entity asynchronously.
Declaration
public virtual Task<T> GetAsync(bool throwIfNotFound = true, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | throwIfNotFound | If true and the referenced entity is not found, an exception occurs. |
System.Threading.CancellationToken | cancellationToken | The cancellation token (optional). |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<T> | A task promising the referenced entity. |
Explicit Interface Implementations
| Improve this Doc View SourceIIdentifiable.Id
Gets the identifier for this instance.
Declaration
object IIdentifiable.Id { get; }
Returns
Type | Description |
---|---|
System.Object | The identifier. |
IRef.Entity
Gets or sets the referenced entity.
Declaration
object IRef.Entity { get; set; }
Returns
Type | Description |
---|---|
System.Object | The referenced entity. |
Remarks
The entity is not ensured to be set prior to calling GetAsync(Boolean, CancellationToken) due to performance reasons, but the actual behavior is left to the implementor.
IRef.GetAsync(Boolean, CancellationToken)
Gets the referenced entity asynchronously.
Declaration
Task<object> IRef.GetAsync(bool throwIfNotFound, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | throwIfNotFound | If true and the referenced entity is not found, an exception occurs. |
System.Threading.CancellationToken | cancellationToken | The cancellation token (optional). |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.Object> | A task promising the referenced entity. |