This is a way of filtering an IQueryable using Dynamic Linq. It composes strings based on Strings retrieved from the database and static values and functions which return strings stored in a dictionary with a key of a columnName for the filter Criterion
Each filter criterion has on it an appColumn which contains the lookup name for the path of the properties on a queryable which it needs to filter on.