Skip to main content
All docs
V23.2
.NET 6.0+
  • The page you are viewing does not exist in the .NET Framework 4.5.2+ platform documentation. This link will take you to the parent topic of the current section.

BaseObject Class

A base class for EF Core persistent classes.

Namespace: DevExpress.Persistent.BaseImpl.EF

Assembly: DevExpress.Persistent.BaseImpl.EFCore.v23.2.dll

NuGet Package: DevExpress.Persistent.BaseImpl.EFCore

Declaration

public abstract class BaseObject :
    IXafEntityObject,
    IObjectSpaceLink

Remarks

The key property of this class has the Guid type. Implements the IObjectSpaceLink and IXafEntityObject intefaces.

using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl.EF;

namespace YourSolutionName.Module.BusinessObjects;

[DefaultClassOptions]
public class MyPersistentClass : BaseObject {
    public virtual string Name { get; set; }
    public virtual bool IsNew { get; set; }
    public virtual ApplicationUser CreatedBy { get; set; }
    public virtual ApplicationUser LastModifiedBy { get; set; }
    ApplicationUser GetCurrentUser() {
        return ObjectSpace.FindObject<ApplicationUser>(CriteriaOperator.Parse("ID=CurrentUserId()"));
    }
    public override void OnCreated() {
        CreatedBy = GetCurrentUser();
        IsNew = true;
    }
    public override void OnLoaded() {
        IsNew = false;
    }
    public override void OnSaving() {
        if(ObjectSpace != null) {
            LastModifiedBy = GetCurrentUser();
        }
        IsNew = false;
    }
}
See Also