Click or drag to resize

IEntitySaveAsync Method (IPredicate, Boolean, CancellationToken)

Async variant of Save(IPredicate, Boolean) Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values.

Namespace:  SD.LLBLGen.Pro.ORMSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.7.0.0 (5.7.0)
Syntax
Task<bool> SaveAsync(
	IPredicate updateRestriction,
	bool recurse,
	CancellationToken cancellationToken
)

Parameters

updateRestriction
Type: SD.LLBLGen.Pro.ORMSupportClassesIPredicate
Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory.
recurse
Type: SystemBoolean
When true, it will save all dirty objects referenced (directly or indirectly) by this entity also.
cancellationToken
Type: System.ThreadingCancellationToken
The cancellation token.

Return Value

Type: TaskBoolean
true if all changed fields were successfully persisted to the database, false otherwise
Exceptions
ExceptionCondition
ORMQueryExecutionExceptionWhen an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented.
Remarks
Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class.
See Also