/// <summary> /// Produces a new query ordered by a comparison expression in descending order. /// </summary> /// <typeparam name="TSource">The type of object being queried.</typeparam> /// <typeparam name="TKey">The sort key type.</typeparam> /// <param name="self">The query.</param> /// <param name="expression">The sort comparison expression.</param> /// <returns>The ordered query.</returns> public static IAmbientDataQuery <TSource> OrderByDescending <TSource, TKey>(this IAmbientDataQuery <TSource> self, Expression <System.Func <TSource, TKey> > expression) { var query = (Db4oAmbientDataQuery <TSource>)self; return(new Db4oAmbientDataQuery <TSource>(query.Inner.OrderByDescending(expression))); }
/// <summary> /// Produces a new query to filter another query by a criteria. /// </summary> /// <typeparam name="TSource">The type of object being queried.</typeparam> /// <param name="self">The query.</param> /// <param name="expression">The filter expression.</param> /// <returns>The filtered query.</returns> public static IAmbientDataQuery <TSource> Where <TSource>(this IAmbientDataQuery <TSource> self, Expression <System.Func <TSource, bool> > expression) { var query = (Db4oAmbientDataQuery <TSource>)self; return(new Db4oAmbientDataQuery <TSource>(query.Inner.Where(expression))); }
/// <summary> /// Counts the number of objects produced by the query. /// </summary> /// <typeparam name="TSource">The type of object being queried.</typeparam> /// <param name="self">The query.</param> /// <returns>The number of objects.</returns> public static int Count <TSource>(this IAmbientDataQuery <TSource> self) { var query = (Db4oAmbientDataQuery <TSource>)self; return(query.Inner.Count()); }
/// <summary> /// Produces a new query to select a projection of a component of another query. /// </summary> /// <typeparam name="TSource">The type of object being queried.</typeparam> /// <typeparam name="TRet">The projection result type.</typeparam> /// <param name="self">The query.</param> /// <param name="selector">The selection expression.</param> /// <returns>The projected query.</returns> public static IAmbientDataQuery <TRet> Select <TSource, TRet>(this IAmbientDataQuery <TSource> self, System.Func <TSource, TRet> selector) { var query = (Db4oAmbientDataQuery <TSource>)self; return(new Db4oAmbientDataQuery <TRet>(query.Inner.Select(selector))); }
/// <summary> /// Produces a new query ordered by an additional comparison expression in ascending order. /// </summary> /// <typeparam name="TSource">The type of object being queried.</typeparam> /// <typeparam name="TKey">The sort key type.</typeparam> /// <param name="self">The query.</param> /// <param name="expression">The sort comparison expression.</param> /// <returns>The ordered query.</returns> public static IAmbientDataQuery <TSource> ThenBy <TSource, TKey>(this IAmbientDataQuery <TSource> self, Expression <System.Func <TSource, TKey> > expression) { var query = (Db4oAmbientDataQuery <TSource>)self; return(new Db4oAmbientDataQuery <TSource>(query.Inner.ThenBy(expression))); }