ColumnBuilder
Builder for creating column definitions with type, nullability, defaults, and constraints.
public sealed class ColumnBuilder
Example
// UUID primary key with auto-generation
.Column("id", PortableTypes.Uuid, c => c.PrimaryKey().DefaultLql("gen_uuid()"))
// Required string with max length
.Column("name", PortableTypes.VarChar(100), c => c.NotNull())
// Auto-increment integer
.Column("sequence", PortableTypes.Int, c => c.Identity())
// Decimal with precision and check constraint
.Column("price", PortableTypes.Decimal(10, 2), c => c.NotNull().Check("price > 0"))
// DateTime with default to current timestamp
.Column("created_at", PortableTypes.DateTime, c => c.DefaultLql("now()"))
Methods
NotNull()
public ColumnBuilder NotNull()
Mark column as NOT NULL.
Returns: ColumnBuilder
Nullable()
public ColumnBuilder Nullable()
Mark column as nullable (default).
Returns: ColumnBuilder
Default(string)
public ColumnBuilder Default(string defaultValue)
Set default value expression (platform-specific SQL).
Parameters:
| Name | Type | Description |
|---|---|---|
defaultValue |
String |
Returns: ColumnBuilder
DefaultLql(string)
public ColumnBuilder DefaultLql(string lqlExpression)
Set default value using LQL expression (platform-independent). The expression will be translated to platform-specific SQL by DDL generators. Common LQL functions: now(), gen_uuid(), lower(), upper(), coalesce().
Parameters:
| Name | Type | Description |
|---|---|---|
lqlExpression |
String |
Returns: ColumnBuilder
Identity(long, long)
public ColumnBuilder Identity(long seed = 1, long increment = 1)
Mark as identity/auto-increment column.
Parameters:
| Name | Type | Description |
|---|---|---|
seed |
Int64 |
|
increment |
Int64 |
Returns: ColumnBuilder
PrimaryKey()
public ColumnBuilder PrimaryKey()
Mark as primary key (also sets NOT NULL).
Returns: ColumnBuilder
Computed(string, bool)
public ColumnBuilder Computed(string expression, bool persisted = false)
Set computed column expression.
Parameters:
| Name | Type | Description |
|---|---|---|
expression |
String |
|
persisted |
Boolean |
Returns: ColumnBuilder
Collation(string)
public ColumnBuilder Collation(string collation)
Set column collation.
Parameters:
| Name | Type | Description |
|---|---|---|
collation |
String |
Returns: ColumnBuilder
Check(string)
public ColumnBuilder Check(string expression)
Add check constraint to column.
Parameters:
| Name | Type | Description |
|---|---|---|
expression |
String |
Returns: ColumnBuilder
Comment(string)
public ColumnBuilder Comment(string comment)
Add comment to column.
Parameters:
| Name | Type | Description |
|---|---|---|
comment |
String |
Returns: ColumnBuilder