Skip to main content
.NET Standard 2.0+

NonPersistentObjectSpace Class

Namespace: DevExpress.ExpressApp

Assembly: DevExpress.ExpressApp.v21.2.dll


public class NonPersistentObjectSpace :


To enable the use of NonPersistentObjectSpace, the following code should be added to the overridden CreateDefaultObjectSpaceProvider method located in the WinApplication.cs (WinApplication.vb) and/or WebApplication.cs (WebApplication.vb) file (in addition to the existing XPObjectSpaceProvider or EFObjectSpaceProvider).

protected override void CreateDefaultObjectSpaceProvider(CreateCustomObjectSpaceProviderEventArgs args) {
    // ...
    args.ObjectSpaceProviders.Add(new NonPersistentObjectSpaceProvider(TypesInfo, null));

Currently, this code is added automatically by the Solution Wizard, but it may be missing if you have created your project using an older version of XAF.


XAF uses the first registered Object Space Provider for the following purposes:

Ensure that NonPersistentObjectSpaceProvider is not the first registered Provider in your application.

To supply non-persistent objects for NonPersistentObjectSpace, use the NonPersistentObjectSpace.ObjectsGetting event that occurs when NonPersistentObjectSpace creates an object collection. You can find examples in the following topics:

To supply an object returned by the NonPersistentObjectSpace.GetObject method, use the NonPersistentObjectSpace.ObjectGetting event.

The New, Delete and Save Actions are available for non-persistent objects. To access all created, deleted and modified objects within NonPersistentObjectSpace, use the NonPersistentObjectSpace.ModifiedObjects property.

The IObjectSpaceLink.ObjectSpace property of non-persistent objects that support IObjectSpaceLink is initialized in these cases:

If an object from another Object Space passed to the GetObject method implements IObjectSpaceLink, and its ObjectSpace property is null, the current NonPersistentObjectSpace assigns a link to itself in this property. Similar behavior is implemented for objects returned by the GetObjects and CreateCollection methods using the NonPersistentObjectSpace.ObjectsGetting event.

The following code snippets (auto-collected from DevExpress Examples) contain references to the NonPersistentObjectSpace class.


The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.



See Also