/// <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)); }
protected string GetAutoIncrement(IDbColumnBinding column) { return(column.IsAutoIncrement ? AutoIncrementKey : string.Empty); }
protected string GetDefault(IDbColumnBinding column) { // TODO: implement this code! return(string.Empty); }
protected string GetNullable(IDbColumnBinding column) { return(column.IsNullable ? NullKey : NotNullKey); }