/// <summary> /// Column should have unique values. Only one row with null value should be accepted (default for most known database engines). /// </summary> /// <param name="expression">The expression to set this option for</param> /// <param name="nullsAreDistinct"><c>true</c> when nulls should be distinct</param> /// <returns>The <paramref name="expression"/></returns> public static ICreateIndexOnColumnSyntax NullsDistinct( this ICreateIndexMoreColumnOptionsSyntax expression, bool nullsAreDistinct = true) { expression.CurrentColumn.AdditionalFeatures[IndexColumnNullsDistinct] = nullsAreDistinct; return(expression); }
/// <summary> /// Specifies that nulls sort before non-nulls. /// </summary> /// <param name="expression">The <see cref="ICreateIndexMoreColumnOptionsSyntax"/></param> /// <param name="sort">The <see cref="NullsSort"/>.</param> /// <returns>The <see cref="ICreateIndexMoreColumnOptionsSyntax"/></returns> public static ICreateIndexMoreColumnOptionsSyntax Nulls(this ICreateIndexMoreColumnOptionsSyntax expression, NullSort sort) { var additionalFeatures = expression as ISupportAdditionalFeatures; additionalFeatures.Nulls(sort); return(expression); }
/// <summary> /// Specifies that nulls sort after non-nulls. This is the default when DESC is not specified. /// </summary> /// <param name="expression">The <see cref="ICreateIndexMoreColumnOptionsSyntax"/></param> /// <returns>The <see cref="ICreateIndexMoreColumnOptionsSyntax"/></returns> public static ICreateIndexMoreColumnOptionsSyntax NullsLast(this ICreateIndexMoreColumnOptionsSyntax expression) { var additionalFeatures = expression.CurrentColumn as ISupportAdditionalFeatures; additionalFeatures.Nulls(NullSort.Last); return(expression); }
/// <summary> /// Column should have unique values, but multiple rows with null values should be accepted. /// </summary> /// <param name="expression">The expression to set this option for</param> /// <returns>The <paramref name="expression"/></returns> public static ICreateIndexOnColumnSyntax NullsNotDistinct( this ICreateIndexMoreColumnOptionsSyntax expression) { return(NullsDistinct(expression, false)); }