public SqlColumnExpression(SqlColumnDefinition definition) { Definition = definition; }
public override void Visit(SqlColumnDefinition codeObject) { }
public SqlColumnForeignKey(SqlColumnDefinition destination, SqlColumnAction onDelete, SqlColumnAction onUpdate) { Destination = destination; OnDelete = onDelete; OnUpdate = onUpdate; }
private void AddColumnConstrains(SqlColumnDefinition columnDefinition, Column column) { switch (columnDefinition.Constraints) { case null: return; } foreach (var constraint in columnDefinition.Constraints) { switch (constraint.Type) { case SqlConstraintType.Identity: var identity = constraint as SqlColumnIdentity; column.Identity = new Column.ColumnIdentity { Increment = identity.Increment ?? 1, Seed = identity.Seed ?? 1 }; column.NextIdentityValue = column.Identity.Seed; break; case SqlConstraintType.NotNull: column.IsNullable = false; break; case SqlConstraintType.Null: column.IsNullable = true; break; case SqlConstraintType.Default: var defaultConstraint = constraint as SqlDefaultConstraint; switch (defaultConstraint.Expression) { case SqlLiteralExpression expression: column.DefaultValue = expression.Value; break; case SqlBuiltinScalarFunctionCallExpression expression: column.DefaultCallExpression = expression; break; } break; case SqlConstraintType.PrimaryKey: column.IsPrimaryKey = true; column.IsUnique = true; _Table.PrimaryKeys.Add(column); break; case SqlConstraintType.ForeignKey: break; case SqlConstraintType.Unique: column.IsUnique = true; break; //case SqlConstraintType.RowGuidCol: //case SqlConstraintType.Check: } } }
public void SetForeignKey(SqlColumnDefinition fk) { ForeignKey = fk; }