private static Set[] FullSets <T>(IReflectionServices reflection, TableMetadata metadata, T value) { Set[] sets = new Set[metadata.Fields.Count]; int n = 0; foreach (var item in metadata.Fields) { sets[n++] = NewSet(reflection, value, item); } return(sets); }
private static Set[] PartialSets <T>(IReflectionServices reflection, TableMetadata metadata, T value, string[] columns) { IList <Set> sets = new List <Set>(); foreach (var item in metadata.Fields) { if (!columns.Contains(item.Key)) { continue; } sets.Add(NewSet(reflection, value, item)); } return(sets.ToArray()); }
private static Set NewSet <T>(IReflectionServices reflection, T value, KeyValuePair <string, FieldMetadata> item) { return(new Set(item.Key, new Literal(item.Value.DataType, reflection.GetValue(item, value)))); }