Skip to main content
.NET 8.0+

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

BaseObject Class

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

Namespace: DevExpress.Persistent.BaseImpl

Assembly: DevExpress.Persistent.BaseImpl.Xpo.v24.2.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;
// ...
[DefaultClassOptions]
public class Contact : BaseObject {
    public virtual string FirstName { get; set; }
}

// Make sure that you use options.UseChangeTrackingProxies() in your DbContext settings.

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