ICreateExpressionRoot
Create -+- Schema ------------- name --- ICreateSchemaOptionsSyntax --- | +- Table -------------- name --- ICreateTableWithColumnOrSchemaOrDescriptionSyntax --- | +- Column ------------- name --- ICreateColumnOnTableSyntax --- | +- ForeignKey -------+--------+- ICreateForeignKeyFromTableSyntax --- | | | | +- name -+ | +- Index ------------+--------+- ICreateIndexForTableSyntax --- | | | | +- name -+ | +- Sequence ----------- name --- ICreateSequenceInSchemaSyntax --- | +- PrimaryKey -------+--------+- ICreateConstraintOnTableSyntax --- | | | | +- name -+ | +- UniqueConstraint -+--------+- ICreateConstraintOnTableSyntax --- | | +- name -+
- ICreateSchemaOptionsSyntax
- ICreateTableWithColumnOrSchemaOrDescriptionSyntax
- ICreateColumnOnTableSyntax
- ICreateForeignKeyFromTableSyntax
- ICreateIndexForTableSyntax
- ICreateSequenceInSchemaSyntax
- ICreateConstraintOnTableSyntax
Schema
ICreateSchemaOptionsSyntax
Note
Extension point
Table
ICreateTableWithColumnOrSchemaOrDescriptionSyntax
--------+-----------------------------+- ICreateTableWithColumnOrSchemaSyntax --- | | +- WithDescription ---- name -+
ICreateTableWithColumnOrSchemaSyntax
--------+-----------------------------+- ICreateTableWithColumnSyntax --- | | +- InSchema ----------- name -+
ICreateTableWithColumnSyntax
---------- WithColumn --------- name --- ICreateTableColumnAsTypeSyntax ---
ICreateTableColumnAsTypeSyntax
---------- IColumnTypeSyntax ---- TNext: ICreateTableColumnOptionOrWithColumnSyntax ---
ICreateTableColumnOptionOrWithColumnSyntax
--------+- ICreateTableWithColumnSyntax -------------------------------------------------------------------+- | | +- IColumnOptionSyntax -+- TNext: ICreateTableColumnOptionOrWithColumnSyntax ----------------------+ | | +- TNextFk: ICreateTableColumnOptionOrForeignKeyCascadeOrWithColumnSyntax -+
ICreateTableColumnOptionOrForeignKeyCascadeOrWithColumnSyntax
--------+--> ICreateTableColumnOptionOrWithColumnSyntax | +- IForeignKeyCascadeSyntax -+--> TNext: ICreateTableColumnOptionOrWithColumnSyntax | +--> TNextFk: ICreateTableColumnOptionOrForeignKeyCascadeOrWithColumnSyntax
Column
ICreateColumnOnTableSyntax
---------- OnTable --- name ---> ICreateColumnAsTypeOrInSchemaSyntax
ICreateColumnAsTypeOrInSchemaSyntax
--------+---------------------+--> ICreateColumnAsTypeSyntax | | +- InSchema --- name -+
ICreateColumnAsTypeSyntax
---------- IColumnTypeSyntax ---> ICreateColumnOptionSyntax
ICreateColumnOptionSyntax
--------+-------------------------------+- IColumnOptionSyntax -+--> TNext: ICreateColumnOptionSyntax | | | +- SetExistingRowsTo --- value -+ +--> TNextFk: ICreateColumnOptionOrForeignKeyCascadeSyntax
ICreateColumnOptionOrForeignKeyCascadeSyntax
--------+--> ICreateColumnOptionSyntax | +- IForeignKeyCascadeSyntax -+--> TNext: ICreateColumnOptionSyntax | +--> TNextFk: ICreateColumnOptionOrForeignKeyCascadeSyntax
ForeignKey
ICreateForeignKeyFromTableSyntax
---------- FromTable --- table ---> ICreateForeignKeyForeignColumnOrInSchemaSyntax
ICreateForeignKeyForeignColumnOrInSchemaSyntax
--------+---------------------+--> ICreateForeignKeyForeignColumnSyntax | | +- InSchema --- name -+
ICreateForeignKeyForeignColumnSyntax
--------+- ForeignColumn --- column ---+--> ICreateForeignKeyToTableSyntax | | +- ForeignColumns --- columns -+
ICreateForeignKeyToTableSyntax
---------- ToTable name --> ICreateForeignKeyPrimaryColumnOrInSchemaSyntax
ICreateForeignKeyPrimaryColumnOrInSchemaSyntax
--------+-----------------+--> ICreateForeignKeyPrimaryColumnSyntax | | +- InSchema name -+
ICreateForeignKeyPrimaryColumnSyntax
--------+- PrimaryColumn --- column ---+--> ICreateForeignKeyCascadeSyntax | | +- PrimaryColumns --- columns -+
ICreateForeignKeyCascadeSyntax
--------+- OnDeleteOrUpdate --- rule ----| (end) | +- OnDelete --- rule ---------+--> ICreateForeignKeyCascadeSyntax | | +- OnUpdate --- rule ---------+
Index
ICreateIndexForTableSyntax
---------- OnTable --- name ---> ICreateIndexOnColumnOrInSchemaSyntax
ICreateIndexOnColumnOrInSchemaSyntax
--------+---------------------+--> ICreateIndexOnColumnSyntax | | +- InSchema --- name -+
ICreateIndexOnColumnSyntax
--------+- OnColumn --- name ---> ICreateIndexColumnOptionsSyntax | +- WithOptions ---------> ICreateIndexOptionsSyntax
ICreateIndexColumnOptionsSyntax
--------+- Ascending --+--> ICreateIndexMoreColumnOptionsSyntax | | +- Descending -+ | +- Unique --------> ICreateIndexColumnUniqueOptionsSyntax
ICreateIndexOptionsSyntax
--------+- Unique -------+--> ICreateIndexOnColumnSyntax | | +- NonClustered -+ | | +- Clustered ----+
ICreateIndexMoreColumnOptionsSyntax
Note
Extension point
--------+---------------------+--> ICreateIndexOnColumnSyntax | | +- get_CurrentColumn -+
ICreateIndexColumnUniqueOptionsSyntax
Note
Extension point
--------+---------------------+--> ICreateIndexOnColumnSyntax | | +- get_CurrentColumn -+
Sequence
ICreateSequenceInSchemaSyntax
--------+---------------------+--> ICreateSequenceSyntax | | +- InSchema --- name -+
ICreateSequenceSyntax
--------+-----------------------------+--> ICreateSequenceSyntax | | +- IncrementBy --- increment -+ | | +- MinValue --- minValue -----+ | | +- MaxValue --- maxValue -----+ | | +- StartWith --- startWith ---+ | | +- Cache --- value -----------+ | | +- Cycle ---------------------+
PrimaryKey/Unique Constraint
ICreateConstraintOnTableSyntax
---------- OnTable --- name ----> ICreateConstraintWithSchemaOrColumnSyntax
ICreateConstraintWithSchemaOrColumnSyntax
--------+- ICreateConstraintColumnsSyntax | +- ICreateConstraintWithSchemaSyntax
Expanded:
--------+-----------------------+--+- Column --- name ---+--> ICreateConstraintOptionsSyntax | | | | +- WithSchema --- name -+ +- Columns --- names -+
ICreateConstraintColumnsSyntax
--------+- Column --- name ---+--> ICreateConstraintOptionsSyntax | | +- Columns --- names -+
ICreateConstraintWithSchemaSyntax
---------- WithSchema --- name ----> ICreateConstraintColumnsSyntax
ICreateConstraintOptionsSyntax
Note
Extension point