Skip to main content

Class: ModelBuilder

Defined in: src/model/ModelBuilder.ts:11

Fluent model configuration builder used in DbContext.onModelCreating(modelBuilder).

Allows defining entity schemas, table names, keys, column mappings, and relationships without using decorators.

Constructors​

Constructor​

new ModelBuilder(): ModelBuilder

Returns​

ModelBuilder

Methods​

entity()​

entity<T>(entityType, configure?): EntityTypeBuilder<T>

Defined in: src/model/ModelBuilder.ts:29

Configures an entity type's schema, table name, keys, and properties.

Type Parameters​

Type Parameter
T extends object

Parameters​

ParameterTypeDescription
entityTypeEntityConstructor<T>Entity class constructor.
configure?(builder) => voidOptional callback receiving the EntityTypeBuilder<T>.

Returns​

EntityTypeBuilder<T>

The EntityTypeBuilder<T> instance for chaining.

Usecase​

Fluent entity mapping in onModelCreating without polluting domain models with decorators.

Example​

modelBuilder.entity(User, b => {
b.toTable('app_users');
b.hasKey(u => u.id);
});

getMetadata()​

getMetadata(entityType): EntityMetadata | undefined

Defined in: src/model/ModelBuilder.ts:47

Returns registered model metadata for an entity type if configured.

Parameters​

ParameterTypeDescription
entityTypeFunctionEntity constructor.

Returns​

EntityMetadata | undefined

Entity metadata or undefined.