/// <summary> /// Creates a WHERE clause comparison for a field and value in the form ([fieldName] [operator] [value]) /// </summary> /// <typeparam name="TValue"></typeparam> /// <param name="where"></param> /// <param name="fieldName">The name of the field to use as the expression on the left of the operator.</param> /// <param name="operator">The comparison operator to use.</param> /// <param name="value">The value of the parameter created for the right side of the operator.</param> /// <param name="dbType">The data type of the database field.</param> /// <param name="size">The size of the database field (for fixed length data types).</param> /// <returns></returns> public static IDbQueryWhereClause FieldMatch <TValue>(this IDbQueryWhereClause where, string fieldName, Csg.Data.Sql.SqlOperator @operator, TValue value, DbType?dbType = null, int?size = null) { if (value is IDbTypeProvider) { where.AddFilter(new Csg.Data.Sql.SqlCompareFilter(where.Root, fieldName, @operator, ((IDbTypeProvider)value).GetDbType(), value)); } else { where.AddFilter(new Csg.Data.Sql.SqlCompareFilter <TValue>(where.Root, fieldName, @operator, value) { DataType = dbType.HasValue ? dbType.Value : DbConvert.TypeToDbType(typeof(TValue)), Size = size, }); } return(where); }
public static DbType ConvertTypeCodeToDbType(TypeCode typeCode) { return(DbConvert.TypeCodeToDbType(typeCode)); }
public static object ConvertValue(object value, DbType dbType) { return(DbConvert.ConvertValue(value, dbType)); }