Skip to main content
.NET 6.0+

Session.OptimisticLockingReadBehavior Property

Gets or sets a value which specifies how XPO behaves when reloading changed objects (objects with different versions).

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v23.2.dll

NuGet Package: DevExpress.Xpo

Declaration

[DefaultValue(OptimisticLockingReadBehavior.Default)]
public OptimisticLockingReadBehavior OptimisticLockingReadBehavior { get; set; }

Property Value

Type Default Description
OptimisticLockingReadBehavior Default

An OptimisticLockingReadBehavior enumeration value that specifies how XPO behaves when reloading changed objects (objects with different versions).

Remarks

The default value for OptimisticLockingReadBehavior is OptimisticLockingReadBehavior.Mixed. In this mode, XPO automatically reloads changed objects only if a transaction is not started. To determine the change, it reads the database’s OptimisticLock field value which is loaded with each query.

XPO allows you to disable automatic object reloading. It exposes two properties that control XPO’s behavior in such instances. These properties are: OptimisticLockingReadBehavior and XpoDefault.OptimisticLockingReadBehavior.

The Session.GetObjects method has the force parameter, which specifies whether to reload objects from a data store. When the force parameter is set to true, Session always reloads modified objects regardless of the OptimisticLockingReadBehavior option.

The following methods (and their async versions) set the force parameter to true: Session.Reload overloads.

The following methods (and their async versions) set the force parameter to false: Session.FindObject and XPBaseCollection.Load overloads.

XPQuery always calls the GetObjects method with the force parameter set to false.

See Also