Class BaseEntity
- 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 sealed record BaseEntity : IBaseEntity
- Inheritance
-
objectBaseEntity
- Implements
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.
[JsonPropertyName("customAttributes")]
public Dictionary<string, JsonElement>? CustomAttributes { get; init; }
Property Value
- Dictionary<string, JsonElement>
Description
A free-text description of the base entity.
[JsonPropertyName("description")]
public 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.
[JsonPropertyName("tableName")]
public string? EntityTableName { get; init; }
Property Value
- string
Id
The id of the base entity - the baseEntityId of its entities.
[JsonPropertyName("id")]
public string Id { get; init; }
Property Value
- string
Name
The display name of the base entity.
[JsonPropertyName("name")]
public 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).
[JsonPropertyName("tableAttributes")]
public TableAttribute[]? TableAttributes { get; init; }