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) { }
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); }