/// <summary> /// Makes a column an Identity column using the specified generation type. /// </summary> /// <param name="expression">Column on which to apply the identity.</param> /// <param name="generation">The generation type</param> /// <returns></returns> public static TNext Identity <TNext, TNextFk>( this IColumnOptionSyntax <TNext, TNextFk> expression, OracleGenerationType generation) where TNext : IFluentSyntax where TNextFk : IFluentSyntax { var castColumn = GetColumn(expression); return(SetIdentity(expression, generation, startWith: null, incrementBy: null, minValue: null, maxValue: null, castColumn)); }
private static TNext SetIdentity <TNext, TNextFk>( IColumnOptionSyntax <TNext, TNextFk> expression, OracleGenerationType generation, long?startWith, int?incrementBy, long?minValue, long?maxValue, ISupportAdditionalFeatures castColumn) where TNext : IFluentSyntax where TNextFk : IFluentSyntax { castColumn.AdditionalFeatures[IdentityGeneration] = generation; castColumn.AdditionalFeatures[IdentityStartWith] = startWith; castColumn.AdditionalFeatures[IdentityIncrementBy] = incrementBy; castColumn.AdditionalFeatures[IdentityMinValue] = minValue; castColumn.AdditionalFeatures[IdentityMaxValue] = maxValue; return(expression.Identity()); }