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; }