/// <summary> /// Sum using expression. e.g. p => p.FirstName; /// </summary> /// <typeparam name="TVal">Type of values to return.</typeparam> /// <param name="exp">Matching expression.</param> /// <returns>List of distinct values.</returns> public virtual List <TVal> Distinct <TVal>(Expression <Func <T, object> > exp) { string propName = RepositoryExpressionHelper.GetPropertyName <T>(exp); return(InternalDistinct <TVal>(propName, null)); }
/// <summary> /// Group(date)(CreateDate) /// </summary> /// <typeparam name="TGroup">Type of group to use.</typeparam> /// <param name="exp">Matching expression.</param> /// <returns>List of key/value pairs.</returns> public virtual List <KeyValuePair <TGroup, int> > Group <TGroup>(Expression <Func <T, object> > exp) { string propName = RepositoryExpressionHelper.GetPropertyName <T>(exp); return(InternalGroup <TGroup>(propName, null)); }
/// <summary> /// Sum using expression. e.g. p => p.FirstName; /// </summary> /// <param name="exp">Expression representing the column name via property name</param> /// <returns>Average of entities.</returns> public virtual double Avg(Expression <Func <T, object> > exp) { return(Avg(RepositoryExpressionHelper.GetPropertyName <T>(exp))); }