Table of Contents

Namespace The.Entities

Classes

CloneContextConflictException

Thrown when an entity being cloned already exists in the target context.

CloneState

Tracks the state and context during a deep graph clone operation.

CloningEntityInitialiser

Initialises a new entity by cloning the state of an existing entity.

ContextMergeFailureException

Thrown when merging two entity contexts fails due to shared entities.

CreatingEntityInitialiser

Initialises a new entity with default values.

DumpState

Keeps track of which entities and relationships have already been dumped during a graph traversal or export operation.

Entities

Class to produce the template output

EntityBase<TProperties, TReport>

Base class for all entities, wrapping an EntityKernel to provide core properties and lifecycle management.

EntityContext

Tracks a set of entities with consistent changes within a unit of work.

EntityExtensions
EntityIDChangedException

An exception thrown after changing the ID of an entity after its attributes have been initialised. This is not supported and will cause an error later when saving the entity. To specify a custom ID for an entity, use SingletonEntityInitialiser.

EntityInfoExtensions
EntityInfo<T>

Describes the metadata and construction logic for a specific entity type.

EntityKernel

The dynamic core of an entity.

EntityMetadataDictionary

Data structure built from an entity model, containing a runtime representation of model nodes which can be used for dynamic application logic.

EntityPropertiesFactory<TProperties, TReport>

Factory for creating property and report objects for a generated entity.

EntityReportBase

Base class for report objects that represent entities in stringified form.

EntityReportCollection<T>

Represents a collection entities in stringified form.

EntitySet<T>

An entity set representing all entities of type T in the entity store.

GraphNavigation

Provides methods for navigating and loading graphs of related entities.

InfoExtensions

Provides extension methods for querying and retrieving entities by ID or type.

InvalidGraphException

Thrown when the structure of an entity graph is incorrect for the purposes of some specified operation.

Metadata

Class to produce the template output

OwnedSet<T>

An in-memory, mutable set of queryable entities.

PropertyInfo

Runtime metadata for a modelled property (attribute or relationship).

PropertyPath

The path from an entity to some property, possibly passing through multiple relationships.

QueryBatch

Provides a way to load multiple graphs of entities in one call to ReadAsync(IEntityContext, CancellationToken?, params ReadOperation[]) with type safety.

QueryBatch.AsyncResultGenerator<T, TTree>
QueryBatch.ResultGenerator<T, TTree>
QueryBatch.Result<T>
SaveResult
SectionInfo

Runtime metadata for a modelled group of properties within an entity.

SingletonEntityInitialiser

Used to specify that an entity should be constructed with a specific ID instead of a random one.

ValidationContext

Contains information about all the validation rules applicable to a particular context (usually a page containing fields and commands), as well as which rules have been triggered already (depending on the triggers defined in their ValidationScope(s))

Interfaces

IEntity
IEntityContextAccessor

Provides access to the underlying EntityContext for a wrapping context.

IEntityInfo

Meta-information about an entity class, including a constructor and type recovery.

IEntityInitialiser

Defines methods for initializing entities during creation or cloning.

IEntityProperties

Defines the set of core properties available on all entity classes.

IEntitySet<T>

A set of entities which can be queried and modified; may be owned by a parent entity.

IEntity<T>
IHasChanges

represents a value which might have been changed from its original state

ILoadedSet<T>

A set of entities which can be iterated and modified; may be owned by a parent entity.

INotifyValueChanged

represents a value which might react to changes

IOwned

An object that belongs to some entity.

IProperty

A change-tracked property that belongs to an entity.

IScopedContext

A stack-bounded entity context which can only be used within a plugin.

IVisitor

Generic visitor which behaves like a higher-kinded Action<T> for any T : IEntity.

IVisitor<U>

Generic visitor which behaves like a higher-kinded Func<T, TResult> for any T : IEntity.

Enums

BreakRelationships

Specifies which types of relationships should be broken during entity operations.