XPCustomObject Class
Implements the IXPObject and provides a custom key definition.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v24.1.dll
NuGet Packages: DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap, DevExpress.Xpo
NuGet Package: DevExpress.Xpo
Declaration
Remarks
When creating a persistent object by deriving from the XPBaseObject, XPCustomObject or XPObject class, an OptimisticLockingAttribute is automatically applied to it. This attribute specifies whether a session can lock a persistent object’s state (allows optimistic locking to be enabled).
For more information, see XPObject and Optimistic Concurrency.
The following code demonstrates how to declare a persistent object.
using DevExpress.Xpo;
using System.ComponentModel;
// Other base classes: https://docs.devexpress.com/eXpressAppFramework/113146/concepts/business-model-design/business-model-design-with-xpo/base-persistent-classes
public class MyClass : XPCustomObject {
public MyClass(Session session) : base(session) { }
// XPCustomObject does not have a built-in key and you need to add your own key
[Key(AutoGenerate = true), Browsable(false)]
public int Oid { get; set; }
string fMyProperty;
public string MyProperty {
get { return fMyProperty; }
set { SetPropertyValue(nameof(fMyProperty), ref fMyProperty, value); }
}
}