Click or drag to resize

ObjectTransaction Class

Represents user mode object transaction
Inheritance Hierarchy

Namespace:  Aloe.SystemFrameworks.Domain
Assembly:  Aloe.SystemFrameworks.Domain (in Aloe.SystemFrameworks.Domain.dll) Version: 20.1.3.5
Syntax
public class ObjectTransaction : IDisposable

The ObjectTransaction type exposes the following members.

Constructors
  NameDescription
Public methodObjectTransaction
Initializes a new transaction, whose primary buffer will be bound to the specified buffer.
Top
Properties
  NameDescription
Public propertyApplicationName
Gets or sets the name of the application that created the transaction.
Public propertyDataSource
Gets the data source.
Public propertyExtendedProperties
Extended properties contain temporary (not persisted) values in the object instance.
Public propertyExternalDataMode
Gets a value indicating whether the transaction runs in external data mode. In this mode, the primary data buffer is externally linked.
Public propertyPrimaryBuffer
Gets the buffer, which allows low-level access to all data tables and columns
Public propertyRepositorySource
Gets a reference to the primary repository source for the transaction
Public propertyTransactionName
Gets the transaction name. It is used only for identification purposes.
Public propertyUserName
Gets or sets the name of the user that created the transaction.
Top
Methods
  NameDescription
Public methodClone
Creates a new ObjectTransaction that is a shallow copy of the current instance. The primary buffer is not copied.
Public methodCommit
Update the data source with the current changes.
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Public methodExecuteRulesForAggregateCommit
Executes the rules for aggregate commit event.
Public methodExecuteRulesForCommit
Executes the rules for the given validation event for all objects in the transaction. The validation violations are populated into the event object.
Public methodFindFirstOrDefault(Repository, ExpressionFuncDomainObject, Boolean)
Searches through both committed and uncommitted objects for a single object, matching the predicate. Returns null if not found. This variant
Public methodFindFirstOrDefaultTObject(ExpressionFuncTObject, Boolean, FuncTObject, Boolean)
Searches through both committed and uncommitted objects for a single object, matching the predicate. Returns null if not found.
Public methodFindFirstOrDefaultTObject(Repository, ExpressionFuncTObject, Boolean, FuncTObject, Boolean)
Searches through both committed and uncommitted objects for a single object, matching the predicate. Returns null if not found. This overload could be used if the search requires type casting to intermediate object type.
Public methodGetTObject
Searches both the uncommitted and committed objects for the object with the specified type and object id.
Public methodGetGhostTObject
Gets the ghost object of the specified entity type.
Public methodGetLocalTObject
Searches for locally buffered object with the specified id.
Public methodGetLocalObject
Searches for locally buffered object with the specified id.
Public methodGetModifiedEntityObjects
Gets the modified entity objects.
Public methodGetOrCreateExtendedPropertyTProperty
Gets the or creates an object, which is cached for the duration of the transaction.
Public methodGetRegistered
Gets alive object from the object registration list. Returns null if the object is not in the registration list.
Public methodLocalQuery(Repository, Boolean)
Allows querying of the local, uncommitted objects in the transaction. This is the untyped overload of the method.
Public methodLocalQueryTObject(Boolean)
Allows querying of the local, uncommitted objects in the transaction.
Public methodNewTObject
Creates a new object of the specified type.
Public methodQueryTObject
Allows querying of the committed objects in the data source.
Public methodRollback
Rollbacks all changes made to the transaction since the last Commit
Public methodSearchTObject
Searches for objects, matching the predicate in both the committed objects in the data source and the uncommitted objects in the transaction.
Public methodToString
Returns a String that represents this instance.
(Overrides ObjectToString.)
Top
Fields
  NameDescription
Public fieldDataAttributeChanged
Fired when data attribute has changed
Public fieldDataAttributeChanging
Fired when data attribute is changing
Public fieldObjectDeleted
Fired when object is deleted.
Public fieldWarningIssued
Fired when a warning is issued
Top
Extension Methods
  NameDescription
Public Extension MethodFillMissingDefaults
Executes the late-default expression for each attribute, if the current value is null or equal to a constant default, for all modified entity objects in the transaction.
(Defined by ObjectTransactionExtensions.)
Top
Remarks

The transaction buffers all data changes in memory and allows committing at any given moment. The transaction also allows off-line operation, storing changes until the server connection is back.

The transaction provides methods for accessing the repositories and the domain objects.

The isolation level is roughly similar to the Repeatable Read, but it does not use any locks.

See Also