The requested page is not available for the requested platform. You are viewing the content for Default platform.

EFObjectSpace Class

An Object Space which is used for data manipulation via the Entity Framework.

Namespace: DevExpress.ExpressApp.EF

Assembly: DevExpress.ExpressApp.EF.v19.1.dll

Declaration

public class EFObjectSpace :
    BaseObjectSpace,
    IObjectSpaceWithLazyRelations
Public Class EFObjectSpace
    Inherits BaseObjectSpace
    Implements IObjectSpaceWithLazyRelations

Remarks

When an XAF application uses the Entity Framework as an ORM layer, an Object Space of the EFObjectSpace class is created. This class is a wrapper over the ObjectContext, which is a container for in-memory objects in the Entity Framework. To access the Object Context used by the current Object Space, use the EFObjectSpace.ObjectContext property. The Object Space uses its Object Context to create, manage and delete persistent objects.

The Object Context's ObjectStateManager tracks every change to every simple property of a persistent object. All the changes are automatically saved to the database by making a single call of the ObjectContext.SaveChanges method, which the Object Space performs using the BaseObjectSpace.CommitChanges method. For details, refer to the Entity Framework documentation. To be sure that changes made to a persistent object's reference properties are tracked, call the BaseObjectSpace.SetModified method after you change such properties in code.

EFObjectSpace works with collections of the DevExpress.ExpressApp.EF.EFCollection type when it is required to load all required objects to a client at once, and with the DevExpress.ExpressApp.EF.EFServerCollection collection type when loading objects in small portions on demand.

When you need to create a new Object Space, use the XafApplication.CreateObjectSpace method. It will create an Object Space of the EFObjectSpace type, if the default Object Space Provider is of the EFObjectSpaceProvider type (see the CreateDefaultObjectSpaceProvider method implementation of your WinApplication descendant in your application).

To learn more about Object Spaces, refer to the BaseObjectSpace class description.

Inheritance

Object
BaseObjectSpace
EFObjectSpace

Implements

See Also