[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Collapse]eXpress Persistent Objects
 [Expand]Product Information
 [Expand]Getting Started
   Product Class Structure
   Database Systems Supported by XPO
  [Expand]Data Types Supported by XPO
   Adding Persistence to an Existing Hierarchy
   When and Why XPO Extends the Database Schema
   Built-In Attributes
 [Expand]Feature Center
 [Expand]Design-Time Features
 [Expand]Member Tables
 [Expand]API Reference
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Product Class Structure

Use the following links to access reference information about the most important classes in XPO.




A Session object, an essential component that is used to load and save persistent objects from any data store.


Stores persistent objects in memory. Intended for testing environment. This data store is useful for in-memory object manipulations. Not designed for large data sets.

AccessConnectionProvider and


Built-in connection providers implementing data-aware operations for the MS Access, MS SQL Server, and MS SQL Azure databases.


A data source providing persistent objects for data-aware web controls.

DataCacheRoot, MSSql2005SqlDependencyCacheRoot,

DataCacheNode, and DataCacheNodeLocal

The main classes that provide functionality for cached data stores.

DataStoreService, DataStoreClient,

CachedDataStoreService, CachedDataStoreClient,

SerializableObjectLayerService, SerializableObjectLayerServiceClient,

SerializableObjectLayerProxyBase, and SerializableObjectLayerClient

The main classes allowing you to transfer data over the wire in your distributed applications via WCF services.


Stores global settings such as a connection string or a shared Data Access Layer, and simplifies the implementation of multi-session applications.


A base class for persistent objects providing a built-in identity field, optimistic concurrency, and deferred object deletion.


A base class for persistent objects providing basic functionality. This class is useful when mapping your persistent objects to existing databases.

PersistentAttribute, KeyAttribute,

AssociationAttribute, SizeAttribute,


The main Built-In Attributes allowing you to properly map your persistent objects to database objects.


A Unit of Work allowing you to manage persistent object modifications using semi-automatically maintained transactions.


An explicit unit of work allowing you to manage persistent object modifications using semi-automatically maintained explicit transactions.


A nested unit of work allowing you to manage persistent object modifications within the scope of its parent unit of work.

XPCollection and XPCollection<T>

A collection of persistent objects and its generic type counterpart.


The data source that displays data from result sets.


The view that stores data retrieved from persistent objects.


A query that allows the construction of LINQ queries for persistent objects.

Is this topic helpful?​​​​​​​