.NET Standard 2.0+
.NET Framework 4.5.2+
.NET Standard 2.0+
.NET 5.0+

IObjectSpaceLink Interface

Implemented by business classes that provide a reference to an associated Object Space.

Namespace: DevExpress.ExpressApp

Assembly: DevExpress.ExpressApp.v21.2.dll

Declaration

Remarks

You can use the XAF Business Object | EF 6 Business Object from Template Gallery to add a class that supports both IXafEntityObject and IObjectSpaceLink. To support IObjectSpaceLink in an existing class, use the following code.

[DefaultClassOptions]
public class Contact : IObjectSpaceLink {
    //...
    IObjectSpace objectSpace;
    IObjectSpace IObjectSpaceLink.ObjectSpace {
        get { return objectSpace; }
        set { objectSpace = value; }
    }
}

An Object Space reference is automatically assigned to the IObjectSpaceLink.ObjectSpace property when a business object supporting IObjectSpaceLink is created using IObjectSpace methods. All data manipulations are preformed using these methods in internal XAF code, and it is recommended to use IObjectSpace in your custom code as well. You can implement this interface and access other business objects directly in the current object code. For example, you can write certain business logic in the IXafEntityObject.OnCreated, IXafEntityObject.OnLoaded and IXafEntityObject.OnSaving methods, as demonstrated in the IXafEntityObject interface description.

Note

  • The Object Space reference is set to null (Nothing in VB) when an object is being deleted.
  • You cannot share non-persistent objects that implement IObjectSpaceLink between different Object Spaces. For example, an exception is thrown when you open a Detail View for an object selected in a List View. To address this exception, subscribe to the NonPersistentObjectSpace.ObjectGetting event, create a new object instance, and copy property values from the source object.

See Also