/// <summary> /// Generates SQL for this constraint. /// </summary> /// <param name="dialect"></param> /// <param name="constraintName">the name of this constraint</param> /// <returns>an SQL string</returns> protected override String DoToSqlConstraint(Dialect dialect, String constraintName) { StringBuilder sb = StringHelper.CreateBuilder().Append(dialect.GetAddUniqueKeyConstraintString(constraintName)) .Append("("); Boolean hadNullableColumn = AppendColumns(sb, dialect); //do not add unique constraint on DB not supporting unique and nullable columns return (!hadNullableColumn || dialect.SupportsNullableUnique) ? sb.Append(")").ToString() : null; }