Performs all the actual work needed to save an entity (well to get the save moved to the execution queue).

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

Syntax

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

Parameters

entity
Type: System..::..Object
The entity to be saved
key
Type: NHibernate.Engine..::..EntityKey
The id to be used for saving the entity (or null, in the case of identity columns)
persister
Type: NHibernate.Persister.Entity..::..IEntityPersister
The entity's persister instance.
useIdentityColumn
Type: System..::..Boolean
Should an identity column be used for id generation?
anything
Type: System..::..Object
Generally cascade-specific information.
source
Type: NHibernate.Event..::..IEventSource
The session which is the source of the current event.
requiresImmediateIdAccess
Type: System..::..Boolean
Is access to the identifier required immediately after the completion of the save? persist(), for example, does not require this...

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