Example #1
0
        protected override DbCommand OnBuildCreateConstraintCommand(ICreateConstraint Query)
        {
            SqlCommand    command;
            StringBuilder sql;

            sql = new StringBuilder();
            sql.Append("ALTER TABLE ");
            sql.Append(OnFormatTableName(Query.Table));
            sql.Append($" ADD CONSTRAINT [AK_{Query.Table}_{string.Join("_",Query.Columns.Select(item=>item.Name))}]");

            switch (Query.Constraint)
            {
            case ColumnConstraints.PrimaryKey:
                sql.Append($" PRIMARY KEY ({string.Join(", ", Query.Columns.Select(item => OnFormatColumnName(item, false)))})");
                break;

            case ColumnConstraints.Unique:
                sql.Append($" UNIQUE ({string.Join(", ", Query.Columns.Select(item => OnFormatColumnName(item,false)))})");
                break;

            default: throw new NotImplementedException("Invalid constraint");
            }

            command = new SqlCommand(sql.ToString());

            return(command);
        }
Example #2
0
 protected abstract DbCommand OnBuildCreateConstraintCommand(ICreateConstraint Query);