Fluent BQL and Traditional BQL Equivalents
The fluent business query language (BQL) library defines the equivalents of traditional BQL classes listed in the following tables.
Data View Declarations
Note:
All data views that contain aggregating are read-only.
Fluent BQL | Traditional BQL |
---|---|
SelectFrom<>.View | PXSelect<> |
SelectFrom<>.View.ReadOnly | PXSelectReadonly<> |
SelectFrom<>.OrderBy<>.View | PXSelectOrderBy<,> |
SelectFrom<>.OrderBy<>.View.ReadOnly | PXSelectReadonly3<,> |
SelectFrom<>.AggregateTo<>.View.ReadOnly | PXSelectGroupBy<,> |
SelectFrom<>.AggregateTo<>.OrderBy<>.View.ReadOnly | PXSelectGroupByOrderBy<,,> |
SelectFrom<>.Where<>.View | PXSelect<,> |
SelectFrom<>.Where<>.View.ReadOnly | PXSelectReadonly<,> |
SelectFrom<>.Where<>.OrderBy<>.View | PXSelect<,,> |
SelectFrom<>.Where<>.OrderBy<>.View.ReadOnly | PXSelectReadonly<,,> |
SelectFrom<>.Where<>.AggregateTo<>.View.ReadOnly | PXSelectGroupBy<,,> |
SelectFrom<>.Where<>.AggregateTo<>.OrderBy<>.View.ReadOnly | PXSelectGroupBy<,,,> |
SelectFrom<>.[Joins].View | PXSelectJoin<,> |
SelectFrom<>.[Joins].View.ReadOnly | PXSelectReadonly2<,> |
SelectFrom<>.[Joins].OrderBy<>.View | PXSelectJoinOrderBy<,,> |
SelectFrom<>.[Joins].OrderBy<>.View.ReadOnly | PXSelectReadonly3<,,> |
SelectFrom<>.[Joins].AggregateTo<>.View.ReadOnly | PXSelectJoinGroupBy<,,> |
SelectFrom<>.[Joins].AggregateTo<>.OrderBy<>.View.ReadOnly | PXSelectGroupByOrderBy<,,,> |
SelectFrom<>.[Joins].Where<>.View | PXSelectJoin<,,> |
SelectFrom<>.[Joins].Where<>.View.ReadOnly | PXSelectReadonly2<,,> |
SelectFrom<>.[Joins].Where<>.OrderBy<>.View | PXSelectJoin<,,,> |
SelectFrom<>.[Joins].Where<>.OrderBy<>.View.ReadOnly | PXSelectReadonly2<,,,> |
SelectFrom<>.[Joins].Where<>.AggregateTo<>.View.ReadOnly | PXSelectJoinGroupBy<,,,> |
SelectFrom<>.[Joins].Where<>.AggregateTo<>.OrderBy<>.View.ReadOnly | PXSelectJoinGroupBy<,,,,> |
Select Commands
Fluent BQL | Traditional BQL |
---|---|
SelectFrom<> | Select<> |
SelectFrom<>.OrderBy<> | Select3<,> |
SelectFrom<>.AggregateTo<> | Select4<,> |
SelectFrom<>.AggregateTo<>.OrderBy<> | Select6<,,> |
SelectFrom<>.Where<> | Select<,> |
SelectFrom<>.Where<>.OrderBy<> | Select<,,> |
SelectFrom<>.Where<>.AggregateTo<> | Select4<,,> |
SelectFrom<>.Where<>.AggregateTo<>.OrderBy<> | Select4<,,,> |
SelectFrom<>.[Joins] | Select2<,> |
SelectFrom<>.[Joins].OrderBy<> | Select3<,,> |
SelectFrom<>.[Joins].AggregateTo<> | Select5<,,> |
SelectFrom<>.[Joins].AggregateTo<>.OrderBy<> | Select6<,,,> |
SelectFrom<>.[Joins].Where<> | Select2<,,> |
SelectFrom<>.[Joins].Where<>.OrderBy<> | Select2<,,,> |
SelectFrom<>.[Joins].Where<>.AggregateTo<> | Select5<,,,> |
SelectFrom<>.[Joins].Where<>.AggregateTo<>.OrderBy<> | Select5<,,,,> |
Search Commands
Fluent BQL | Traditional BQL |
---|---|
SelectFrom<>.SearchFor<> | Search<> |
SelectFrom<>.OrderBy<>.SearchFor<> | Search3<,> |
SelectFrom<>.AggregateTo<>.SearchFor<> | Search4<,> |
SelectFrom<>.AggregateTo<>.OrderBy<>.SearchFor<> | Search6<,,> |
SelectFrom<>.Where<>.SearchFor<> | Search<,> |
SelectFrom<>.Where<>.OrderBy<>.SearchFor<> | Search<,,> |
SelectFrom<>.Where<>.AggregateTo<>.SearchFor<> | Search4<,,> |
SelectFrom<>.Where<>.AggregateTo<>.OrderBy<>.SearchFor<> | Search4<,,,> |
SelectFrom<>.[Joins].SearchFor<> | Search2<,> |
SelectFrom<>.[Joins].OrderBy<>.SearchFor<> | Search3<,,> |
SelectFrom<>.[Joins].AggregateTo<>.SearchFor<> | Search5<,,> |
SelectFrom<>.[Joins].AggregateTo<>.OrderBy<>.SearchFor<> | Search6<,,,> |
SelectFrom<>.[Joins].Where<>.SearchFor<> | Search2<,,> |
SelectFrom<>.[Joins].Where<>.OrderBy<>.SearchFor<> | Search2<,,,> |
SelectFrom<>.[Joins].Where<>.AggregateTo<>.SearchFor<> | Search5<,,,> |
SelectFrom<>.[Joins].Where<>.AggregateTo<>.OrderBy<>.SearchFor<> | Search5<,,,,> |
Join Clauses
Fluent BQL | Traditional BQL |
---|---|
.InnerJoin<Table>.On<> | InnerJoin<Table,On> |
.InnerJoin<Table>.On<>.NextJoin | InnerJoin<Table,On,NextJoin> |
.InnerJoin<Table>.On<>.SingleTableOnly | InnerJoinSingleTable<Table,On> |
.InnerJoin<Table>.On<>.SingleTableOnly.NextJoin | InnerJoinSingleTable<Table,On,NextJoin> |
.LeftJoin<Table>.On<> | LeftJoin<Table,On> |
.LeftJoin<Table>.On<>.NextJoin | LeftJoin<Table,On,NextJoin> |
.LeftJoin<Table>.On<>.SingleTableOnly | LeftJoinSingleTable<Table,On> |
.LeftJoin<Table>.On<>.SingleTableOnly.NextJoin | LeftJoinSingleTable<Table,On,NextJoin> |
.RightJoin<Table>.On<> | RightJoin<Table,On> |
.RightJoin<Table>.On<>.NextJoin | RightJoin<Table,On,NextJoin> |
.RightJoin<Table>.On<>.SingleTableOnly | RightJoinSingleTable<Table,On> |
.RightJoin<Table>.On<>.SingleTableOnly.NextJoin | RightJoinSingleTable<Table,On,NextJoin> |
.FullJoin<Table>.On<> | FullJoin<Table,On> |
.FullJoin<Table>.On<>.NextJoin | FullJoin<Table,On,NextJoin> |
.FullJoin<Table>.On<>.SingleTableOnly | FullJoinSingleTable<Table,On> |
.FullJoin<Table>.On<>.SingleTableOnly.NextJoin | FullJoinSingleTable<Table,On,NextJoin> |
.CrossJoin<Table> | CrossJoin<Table> |
.CrossJoin<Table>.NextJoin | CrossJoin<Table,NextJoin> |
.CrossJoin<Table>.SingleTableOnly | CrossJoinSingleTable<Table> |
.CrossJoin<Table>.SingleTableOnly.NextJoin | CrossJoinSingleTable<Table,NextJoin> |
Where Clause
Fluent BQL | Traditional BQL |
---|---|
.Where<UnaryOperator> | Where<UnaryOperator> |
.Where<Operand.Comparison> | Where<Operand,Comparison> |
.Where<Operand.Comparison.NextOperator> | Where<Operand,Comparison,NextOperator> |
.Where<UnaryOperator.NextOperator> | Where2<UnaryOperator,NextOperator> |
Aggregate Clause
Fluent BQL | Traditional BQL |
---|---|
.AggregateTo<Function> | Aggregate<Function> |
.AggregateTo<TFunctions>.THaving | Aggregate<TFunctions,THaving> |
.Having<TCondition> | Having<TCondition> |
GroupBy<Field> | GroupBy<Field> |
GroupBy<Field>, NextAggregate | GroupBy<Field,NextAggregate> |
Max<Field> | Max<Field> |
Max<Field>, NextAggregate | Max<Field,NextAggregate> |
Min<Field> | Min<Field> |
Min<Field>, NextAggregate | Min<Field,NextAggregate> |
Sum<Field> | Sum<Field> |
Sum<Field>, NextAggregate | Sum<Field,NextAggregate> |
Avg<Field> | Avg<Field> |
Avg<Field>, NextAggregate | Avg<Field,NextAggregate> |
Count | Count |
Count<Field> | Count<Field> |
OrderBy Clause
Fluent BQL | Traditional BQL |
---|---|
.OrderBy<List> | OrderBy<List> |
Field.Asc | Asc<Field> |
Field.Asc, NextSort | Asc<Field,NextSort> |
Field.Desc | Desc<Field> |
Field.Desc, NextSort | Desc<Field,NextSort> |
Parameters
Fluent BQL | Traditional BQL |
---|---|
Field.FromCurrent | Current<Field> |
Field.FromCurrent.NoDefault | Current2<Field> |
Field.AsOptional | Optional<Field> |
Field.AsOptional.NoDefault | Optional2<Field> |
@P.AsBool | Required<Field>, where the property field of
Field has the bool type |
@P.AsByte | Required<Field>, where the property field of
Field has the byte type |
@P.AsShort | Required<Field>, where the property field of
Field has the short type |
@P.AsInt | Required<Field>, where the property field of
Field has the int type |
@P.AsLong | Required<Field>, where the property field of
Field has the long type |
@P.AsFloat | Required<Field>, where the property field of
Field has the float type |
@P.AsDouble | Required<Field>, where the property field of
Field has the double type |
@P.AsDecimal | Required<Field>, where the property field of
Field has the decimal type |
@P.AsGuid | Required<Field>, where the property field of
Field has the Guid type |
@P.AsDateTime | Required<Field>, where the property field of
Field has the DateTime type |
@P.AsString | Required<Field>, where the property field of
Field has the string type |
Argument.AsBool | Argument<bool?> |
Argument.AsByte | Argument<byte?> |
Argument.AsShort | Argument<short?> |
Argument.AsInt | Argument<int?> |
Argument.AsLong | Argument<long?> |
Argument.AsFloat | Argument<float?> |
Argument.AsDouble | Argument<double?> |
Argument.AsDecimal | Argument<decimal?> |
Argument.AsGuid | Argument<Guid?> |
Argument.AsDateTime | Argument<DateTime?> |
Argument.AsString | Argument<string> |
Logical Operators and Brackets
Fluent BQL | Traditional BQL |
---|---|
And<UnaryOperator> | And<UnaryOperator> |
And<Operand.Comparison> | And<Operand,Comparison> |
And<Operand.Comparison>.NextOperator | And<Operand,Comparison,NextOperator> |
And<UnaryOperator.NextOperator> | And2<UnaryOperator,NextOperator> |
Or<UnaryOperator> | Or<UnaryOperator> |
Or<Operand.Comparison> | Or<Operand,Comparison> |
Or<Operand.Comparison>.NextOperator | Or<Operand,Comparison,NextOperator> |
Or<UnaryOperator.NextOperator> | Or2<UnaryOperator,NextOperator> |
Not<UnaryOperator> | Not<UnaryOperator> |
Not<Operand.Comparison> | Not<Operand,Comparison> |
Not<Operand.Comparison.NextOperator> | Not<Operand,Comparison,NextOperator> |
Not<UnaryOperator.NextOperator> | Not2<UnaryOperator,NextOperator> |
Brackets<UnaryOperator> | Where<UnaryOperator> |
Brackets<Operand.Comparison> | Where<Operand,Comparison> |
Brackets<Operand.Comparison.NextOperator> | Where<Operand,Comparison,NextOperator> |
Brackets<UnaryOperator.NextOperator> | Where2<UnaryOperator,NextOperator> |
Comparisons
Fluent BQL | Traditional BQL |
---|---|
Table.field.IsEqual<TOperand> | <Table.field, Equal<TOperand>> |
Table.field.IsNotEqual<TOperand> | <Table.field, NotEqual<TOperand>> |
Table.field.IsGreaterEqual<TOperand> | <Table.field, GreaterEqual<TOperand>> |
Table.field.IsGreater<TOperand> | <Table.field, Greater<TOperand>> |
Table.field.IsLessEqual<TOperand> | <Table.field, LessEqual<TOperand>> |
Table.field.IsLess<TOperand> | <Table.field, Less<TOperand>> |
Table.field.IsLike<TOperand> | <Table.field, Like<TOperand>> |
Table.field.IsNotLike<TOperand> | <Table.field, NotLike<TOperand>> |
Table.field.IsBetween<TOperand> | <Table.field, Between<TOperand>> |
Table.field.IsNotBetween<TOperand> | <Table.field, NotBetween<TOperand>> |
Table.field.IsNull | <Table.field, IsNull<TOperand>> |
Table.field.IsNotNull | <Table.field, IsNotNull<TOperand>> |
Table.field.IsIn<TOperand> | <Table.field, In<TOperand>> |
Table.field.IsNotIn<TOperand> | <Table.field, NotIn<TOperand>> |
Table.field.IsInSubselect<TSearch> | <Table.field, In2<TSearch>> |
Table.field.IsNotInSubselect<TSearch> | <Table.field, NotIn2<TSearch>> |
Table.field.IsIn<TConst1, ..., TConstN> | <Table.field, In3<TConst1, ..., TConstN>> |
Table.field.IsNotIn<TConst1, ..., TConstN> | <Table.field, NotIn3<TConst1, ..., TConstN>> |
Case, When, Then, and Else Operators
Fluent BQL | Traditional BQL |
---|---|
Operand1.When<Condition1>.Else<Operand2>.When<Condition2>.[...] | Switch<Cases> |
Operand1.When<Condition1>.[...].Else<Default> | Switch<Cases,Default> |
Operand.When<Condition> | Case<Condition,Operand> |
Operand.When<Condition>.Else<Operand2>.When<Condition2>.[...] | Case<Condition,Operand,NextCase> |
Arithmetic Operations and Operations with Strings and Dates
Fluent BQL | Traditional BQL |
---|---|
Op1.Add<Op2> | Add<Op1, Op2> |
Op1.Subtract<Op2> | Sub<Op1, Op2> |
Op1.Multiply<Op2> | Mult<Op1, Op2> |
Op1.Divide<Op2> | Div<Op1, Op2> |
Op1.Concat<Op2> | Concat<Op1, Op2> |
Op1.IfNullThen<Op2> | IsNull<Op1, Op2> |
Op1.NullIf<Op2> | NullIf<Op1, Op2> |
Date1.Diff<Date2>.Years | DateDiff<Date1, Date2, DateDiff.year> |
Date1.Diff<Date2>.Quarters | DateDiff<Date1, Date2, DateDiff.quarter> |
Date1.Diff<Date2>.Months | DateDiff<Date1, Date2, DateDiff.month> |
Date1.Diff<Date2>.Weeks | DateDiff<Date1, Date2, DateDiff.week> |
Date1.Diff<Date2>.Days | DateDiff<Date1, Date2, DateDiff.day> |
Date1.Diff<Date2>.Hours | DateDiff<Date1, Date2, DateDiff.hour> |
Date1.Diff<Date2>.Minutes | DateDiff<Date1, Date2, DateDiff.minute> |
Date1.Diff<Date2>.Seconds | DateDiff<Date1, Date2, DateDiff.second> |
Date1.Diff<Date2>.Milliseconds | DateDiff<Date1, Date2, DateDiff.millisecond> |
DatePart<Date>.Year | DatePart<DatePart.year, Date> |
DatePart<Date>.Quarter | DatePart<DatePart.quarter, Date> |
DatePart<Date>.Month | DatePart<DatePart.month, Date> |
DatePart<Date>.Week | DatePart<DatePart.week, Date> |
DatePart<Date>.WeekDay | DatePart<DatePart.weekDay, Date> |
DatePart<Date>.Day | DatePart<DatePart.day, Date> |
DatePart<Date>.DayOfYear | DatePart<DatePart.dayOfYear, Date> |
DatePart<Date>.Hour | DatePart<DatePart.hour, Date> |
DatePart<Date>.Minute | DatePart<DatePart.minute, Date> |
DatePart<Date>.Second | DatePart<DatePart.second, Date> |