.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+
.NET Core 3.0+

BaseObject Class

Represents a base persistent class from which business classes can be inherited.

Namespace: DevExpress.Persistent.BaseImpl

Assembly: DevExpress.Persistent.BaseImpl.v21.1.dll

Declaration

[NonPersistent]
public abstract class BaseObject :
    XPCustomObject

Remarks

The BaseObject class is a feature-rich persistent base class. The BaseObject class is used as the base class when declaring business classes using the XPO Business Object template. The BaseObject class’s main features are:

  • A GUID-type auto-generated BaseObject.Oid primary key property;
  • Supports optimistic concurrency control;
  • Supports deferred deletion.

The following example demonstrates how to declare a persistent class:

using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Xpo;
// ...
[DefaultClassOptions]
public class Contact : BaseObject {
    // BaseObject contains an auto-generated Guid key, you cannot add a custom key
    public Contact(Session session) : base(session) { }
    string fFirstName;
    public string FirstName {
        get { return fFirstName; }
        set { SetPropertyValue(nameof(FirstName), ref fFirstName, value); }
    }
}

The following help topic lists base classes that you can use in XPO-based applications: Base Persistent Classes.

Business classes are inherited from a base persistent class. The Ways to Add a Business Class topic describes how to declare a business class, and the How to: Implement a Custom Base Persistent Class help topic provides details on how to implement a custom base persistent class. The Business Classes vs Database Tables topic provides a general overview of the business class concept.

Note

XAF manages persistent objects via Object Spaces. Refer to the BaseObjectSpace class description for more information about the Object Space concept.

See Also