private static Func <T, object> CreatePropertySelector <T>(string column, IEnumerable <string>?extraAllowedColumns) { var parameter = Expression.Parameter(typeof(T), "x"); var selector = Expression.PropertyOrField(parameter, column); LinqHelpers.CheckTargetColumn(column, extraAllowedColumns, selector); var cast = Expression.Convert(selector, typeof(object)); return((Func <T, object>)Expression.Lambda(cast, parameter).Compile()); }