public QueryBuilderOptions(ISqlFlavor sqlFlavor, IColumnFormat columnFormat,
                            bool smartDate, bool overprotective, bool addSqlToException, bool dontParameterizeNumbers)
 {
     SqlFlavor    = sqlFlavor;
     ColumnFormat = columnFormat;
     SmartDate    = smartDate;
     OverprotectiveSqlInjection     = overprotective;
     AddParameterizedSqlToException = addSqlToException;
     DontParameterizeNumbers        = dontParameterizeNumbers;
 }
        public static T ToObject <T>(IReadOnlyDictionary <string, object?> source, IColumnFormat columnFormat) where T : new()
        {
            var result = new T();

            foreach (PropertyDescriptor?property in TypeDescriptor.GetProperties(result))
            {
                if (property is null || !source.TryGetValue(columnFormat.Format(property.Name), out object?value))
                {
                    continue;
                }

                if (value is null || value == DBNull.Value)
                {
                    SetProperty(result, property, null);
                }
 public static QueryBuilderOptions PlainPreset(ISqlFlavor sqlFlavor, IColumnFormat columnFormat)
 {
     return(new QueryBuilderOptions(sqlFlavor, columnFormat,
                                    smartDate: false, overprotective: false, addSqlToException: false, dontParameterizeNumbers: false));
 }
 public QueryBuilderOptions(ISqlFlavor sqlFlavor, IColumnFormat columnFormat)
     : this(sqlFlavor, columnFormat, smartDate : true, overprotective : true, addSqlToException : true,
            dontParameterizeNumbers : true)
 {
 }
Example #5
0
 public static IInitialQueryBuilder Init(ISqlFlavor sqlFlavor, IColumnFormat columnFormat)
 => Init(new QueryBuilderOptions(sqlFlavor, columnFormat));
        public static IReadOnlyDictionary <string, object?> ToDictionary(object source, IColumnFormat columnFormat)
        {
            var result = new Dictionary <string, object?>();

            foreach (PropertyDescriptor?property in TypeDescriptor.GetProperties(source))
            {
                if (property is not null)
                {
                    result.Add(columnFormat.Format(property.Name), property.GetValue(source));
                }
            }
            return(result);
        }