NPersistence Reference Guide
Assembly: NPersistence (in NPersistence.dll) Version: 2.0.0.0 (2.0.0.0)
Find by primary key and lock, using the specified properties.
Search for an entity of the specified class and primary key
and lock it with respect to the specified lock type.
If the entity instance is contained in the persistence context,
it is returned from there.
If the entity is found
within the persistence context and the lock mode type
is pessimistic and the entity has a version attribute, the
persistence provider must perform optimistic version checks
when obtaining the database lock. If these checks fail,
the OptimisticLockException will be thrown.
If the lock mode type is pessimistic and the entity instance
is found but cannot be locked:
Namespace: NPersistence- the PessimisticLockException will be thrown if the database locking failure causes transaction-level rollback
- the LockTimeoutException will be thrown if the database locking failure causes only statement-level rollback
Assembly: NPersistence (in NPersistence.dll) Version: 2.0.0.0 (2.0.0.0)
Syntax
C# |
T Find<T>( Type entityClass, Object primaryKey, LockModeType lockMode, Dictionary<string, Object> properties )
Parameters
- entityClass
- Type
entity class
- primaryKey
- Object
primary key
- lockMode
- LockModeType
lock mode
- properties
- Dictionary<(Of <(<'String, Object>)>)>
standard and vendor-specific properties
Type Parameters
- T
Return Value
the found entity instance or null if the entity does not existExceptions
Exception | Condition |
---|---|
System..::..ArgumentException | if the first argument does not denote an entity type or the second argument is not a valid type for that entity's primary key or is null |
NPersistence..::..TransactionRequiredException | if there is no transaction and a lock mode other than NONE is specified |
NPersistence..::..OptimisticLockException | if the optimistic version check fails |
NPersistence..::..PessimisticLockException | if pessimistic locking fails and the transaction is rolled back |
NPersistence..::..LockTimeoutException | if pessimistic locking fails and only the statement is rolled back |
NPersistence..::..PersistenceException | if an unsupported lock call is made |