public IQueryable <object> SelectFields(IQueryable <TSource> source, IEnumerable <string> fields) { var sourceType = typeof(TSource); var resultType = WithFieldsTypeBag.Get(sourceType, fields); var expression = MapperExpressionBag.Get(sourceType, resultType); var selectMethod = SelectMethodInfo.MakeGenericMethod(sourceType, resultType); return((IQueryable <object>)selectMethod.Invoke(null, new object[] { source, expression })); }
public IQueryable <TResult> Select <TResult>(IQueryable <object> source) { var expression = MapperExpressionBag.Get <TSource, TResult>(); return(((IQueryable <TSource>)source).Select(expression)); }