/// <summary>
        /// Check whether if a column matches a selection criteria or not.
        /// </summary>
        public static bool IsSelected(IDbTableBinding binding, IDbColumnBinding column, DbColumnsSelection selection)
        {
            switch (selection)
            {
            case DbColumnsSelection.None:
                return(false);

            case DbColumnsSelection.AutoInc:
                return(column.IsAutoIncrement);

            case DbColumnsSelection.NonAutoInc:
                return(!column.IsAutoIncrement);

            case DbColumnsSelection.PrimaryKey:
                return(IsInPrimaryKey(binding, column));

            case DbColumnsSelection.NonPrimaryKey:
                return(!IsInPrimaryKey(binding, column));

            case DbColumnsSelection.UniqueKey:
                return(IsInUniqueKey(binding, column));

            case DbColumnsSelection.All:
            default:
                return(true);
            }
        }
 /// <summary>
 /// Get output field.
 /// </summary>
 public static void GetOutputField(this IDbColumnBinding binding, DbDataReader reader, object instance)
 {
     binding.SetValue(instance, reader[binding.ColumnName]);
 }
 /// <summary>
 /// Assigns input parameters.
 /// </summary>
 public static void SetInputParameters(this IDbColumnBinding binding, DbCommand cmd, object instance)
 {
     DbHelper.SetSqlParameter(cmd, binding.SpParamName, binding.GetValue(instance), false);
 }
 /// <summary>
 /// Get a column type.
 /// </summary>
 public static string GetSqlColumnType(this IDbColumnBinding column)
 {
     return(column.Setup.Naming.GetSqlType(column.DataType, column.ColumnType, column.ColumnSize));
 }
 /// <summary>
 /// Get a parameter name.
 /// </summary>
 public static string GetSqlParamName(this IDbColumnBinding column)
 {
     return(column.Setup.Naming.GetSqlParamName(column.SpParamName));
 }
 private static bool IsInUniqueKey(IDbTableBinding binding, IDbColumnBinding column)
 {
     return(column.KeyConstraint == DbKeyConstraint.UniqueKey ||
            binding.UniqueKeys.Count == 1 && binding.UniqueKeys.Any(uk => uk.PropertyNames.Contains(column.PropertyName)));
 }
 private static bool IsInPrimaryKey(IDbTableBinding binding, IDbColumnBinding column)
 {
     return(column.KeyConstraint == DbKeyConstraint.PrimaryKey ||
            column.KeyConstraint == DbKeyConstraint.PrimaryForeignKey ||
            binding.PrimaryKey.PropertyNames.Contains(column.PropertyName));
 }
Example #8
0
 protected string GetAutoIncrement(IDbColumnBinding column)
 {
     return(column.IsAutoIncrement ? AutoIncrementKey : string.Empty);
 }
Example #9
0
 protected string GetDefault(IDbColumnBinding column)
 {
     // TODO: implement this code!
     return(string.Empty);
 }
Example #10
0
 protected string GetNullable(IDbColumnBinding column)
 {
     return(column.IsNullable ? NullKey : NotNullKey);
 }