/// <inheritdoc cref="QueryAsync{T}(IDbQuery, ulong, Func{IQueryBuilder, IQueryBuilderWithFrom}, IDbTransaction)"/> public static Task <Maybe <T> > QuerySingleAsync <T>( this IDbQuery @this, Func <IQueryBuilder, IQueryBuilderWithFrom> builder, IDbTransaction transaction ) => QueryBuilderF.Build <T>( builder ) .BindAsync( x => @this.QuerySingleAsync <T>(x, transaction) );
/// <summary> /// Use a fluent <see cref="IQueryBuilder"/> to create a query to run against the database /// </summary> /// <typeparam name="T">Return model type</typeparam> /// <param name="this">IDbQuery</param> /// <param name="page">Page number</param> /// <param name="builder">Query builder</param> /// <param name="transaction">Database transaction</param> public static Task <Maybe <IPagedList <T> > > QueryAsync <T>( this IDbQuery @this, ulong page, Func <IQueryBuilder, IQueryBuilderWithFrom> builder, IDbTransaction transaction ) => QueryBuilderF.Build <T>( builder ) .BindAsync( x => @this.QueryAsync <T>(page, x, transaction) );
public void Catches_Exception_Running_Builder_Returns_None_With_QueryBuilderExceptionMsg() { // Arrange var builder = Substitute.For <Func <IQueryBuilder, IQueryBuilderWithFrom> >(); builder.Invoke(Arg.Any <IQueryBuilder>()).Throws <Exception>(); // Act var result = QueryBuilderF.Build <int>(builder); // Assert result.AssertNone().AssertType <QueryBuilderExceptionMsg>(); }