Search Results for

    Show / Hide Table of Contents

    Interface IBaseObject

    Any entity that will be inherited by other entities should also implement this interface.

    The common properties should all be implemented in a common interface that the base and inheriting entities implement, for instance see IObjectEntityBase for the common object entity properties.

    The base entity itself should implement the common interface, any additional properties, *and* this BaseObject interface. See IObjectEntity for the base object entity type.

    The inheriting entity should implement the common interface, any additional properties, *and* the IInheritingObject interface. See ICompany for an entity that inherits object entity and has company specific properties.

    This ensures that given an id of a IObjectEntity we can get the common information, and it will tell us the inheriting type is a company (InheritingObjectTypeID), and we can then get all the rest of the information from the company itself
    Inherited Members
    IBaseEntity.GetLabel(string)
    IBaseEntity.SetLabel(string, string)
    IBaseEntity.SetSilentLabel(string, string)
    IBaseEntity.AccountID
    IBaseEntity.ID
    IBaseEntity.LastUpdated
    IBaseEntity.ModifiedByUserID
    IBaseEntity.CanvasID
    IBaseEntity.AlgorithmStepID
    IBaseEntity.SafeID
    IEquatable<IBaseEntity>.Equals(IBaseEntity)
    INotifyPropertyChanged.PropertyChanged
    INotifyPropertyChanging.PropertyChanging
    ICloneableAsync.Clone(object)
    ICloneableAsync.CopyFromSource(object)
    ICanTrackProperties.HasTrackedPropertyChanged(string)
    ICanTrackProperties.OriginalTrackedPropertyValue(string)
    ICanTrackProperties.OriginalTrackedPropertyValue<T>(string)
    ICanTrackProperties.ClearTrackedOriginalValues()
    ICanTrackProperties.GetAllOriginalTrackedPropertyValues()
    Namespace: LemonEdge.API.Entities.Data
    Assembly: LemonEdge.API.dll
    Syntax
    [EntityIndex(Name = "BaseObjType", ColumnNames = new string[] { "InheritingObjectTypeID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
    public interface IBaseObject : IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties

    Properties

    InheritingObjectTypeID

    Any object that inherits this interface holds part of a record, the common base part

    This holds the type of record which holds the rest

    The IDs of both the inheriting and base objects always are the same
    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, false, IsEntityTypeLink = true)]
    [RequiredNoDefaultIDValidation]
    [EntityKeyProperty]
    [Unique(MergeWithAnyOtherUniqueProperties = true)]
    Guid InheritingObjectTypeID { get; set; }
    Property Value
    Type Description
    Guid

    Extension Methods

    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)

    See Also

    IInheritingObject
    IsBaseInterfaceAttribute
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.