Table of Contents

Interface IBaseEntity

Namespace
BiExcellence.OpenBi.Api.BaseEntities
Assembly
BiExcellence.OpenBi.Api.Client.dll

A base entity: the schema-definition side of the dynamic custom-attribute (EAV) engine. A base entity owns a dynamically-named child table whose rows are Entity instances; the child table's columns are shaped by which TableAttribute rows are assigned to this base entity.

public interface IBaseEntity

Properties

CustomAttributes

The values of the table attributes defined on table SHOP_BASE_PRODUCT - the base entity's own extra fields, keyed by attribute name. Not the columns of its entities; those are TableAttributes.

Dictionary<string, JsonElement>? CustomAttributes { get; init; }

Property Value

Dictionary<string, JsonElement>

Description

A free-text description of the base entity.

string? Description { get; init; }

Property Value

string

EntityTableName

The table that holds the entities of this base entity (wire name tableName). Server-assigned when the base entity is created: SHOP_PRODUCT_ followed by the id in upper case without dashes. It is also the Type of a table attribute that refers to one of these entities.

string? EntityTableName { get; init; }

Property Value

string

Id

The id of the base entity - the baseEntityId of its entities.

string Id { get; init; }

Property Value

string

Name

The display name of the base entity.

string? Name { get; init; }

Property Value

string

TableAttributes

The table attributes attached to this base entity - the columns every one of its entities can carry a value for. Read-only here: attach and detach them with AssignTableAttributeToBaseEntityAsync(IOpenBiApiClient, string, string, CancellationToken) and RemoveTableAttributeFromBaseEntityAsync(IOpenBiApiClient, string, string, CancellationToken).

TableAttribute[]? TableAttributes { get; init; }

Property Value

TableAttribute[]