Prepares the save call by checking the session caches for a pre-existing entity and performing any lifecycle callbacks.

Namespace: NHibernate.Event.Default
Assembly: NHibernate (in NHibernate.dll) Version: 3.2.0.4000 (3.2.0.4000)

Syntax

C#
protected virtual Object PerformSave(
	Object entity,
	Object id,
	IEntityPersister persister,
	bool useIdentityColumn,
	Object anything,
	IEventSource source,
	bool requiresImmediateIdAccess
)
Visual Basic
Protected Overridable Function PerformSave ( _
	entity As Object, _
	id As Object, _
	persister As IEntityPersister, _
	useIdentityColumn As Boolean, _
	anything As Object, _
	source As IEventSource, _
	requiresImmediateIdAccess As Boolean _
) As Object
Visual C++
protected:
virtual Object^ PerformSave(
	Object^ entity, 
	Object^ id, 
	IEntityPersister^ persister, 
	bool useIdentityColumn, 
	Object^ anything, 
	IEventSource^ source, 
	bool requiresImmediateIdAccess
)

Parameters

entity
Type: System..::..Object
The entity to be saved.
id
Type: System..::..Object
The id by which to save the entity.
persister
Type: NHibernate.Persister.Entity..::..IEntityPersister
The entity's persister instance.
useIdentityColumn
Type: System..::..Boolean
Is an identity column being used?
anything
Type: System..::..Object
Generally cascade-specific information.
source
Type: NHibernate.Event..::..IEventSource
The session from which the event originated.
requiresImmediateIdAccess
Type: System..::..Boolean
does the event context require access to the identifier immediately after execution of this method (if not, post-insert style id generators may be postponed if we are outside a transaction).

Return Value

The id used to save the entity; may be null depending on the type of id generator used and the requiresImmediateIdAccess value

See Also