select2<A, B> method
MssqlProjectedQuery<(A, B)>
select2<A, B>(
- (MssqlExpression, MssqlExpression) select(
- TFields fields
Two typed columns as a Dart record (A, B).
Named record shapes are generated DTOs; Dart will not map an arbitrary named record through a single generic.
Implementation
MssqlProjectedQuery<(A, B)> select2<A, B>(
(MssqlExpression, MssqlExpression) Function(TFields fields) select,
) {
final pair = select(fields);
return this.select(
MssqlProjection<(A, B)>(
name: 'select2',
columns: <MssqlProjectionColumn>[
MssqlProjectionColumn('c0', pair.$1),
MssqlProjectionColumn('c1', pair.$2),
],
map: (row) => (
MssqlProjection.decode<A>(
row,
0,
projection: 'select2',
column: 'c0',
expression: pair.$1,
),
MssqlProjection.decode<B>(
row,
1,
projection: 'select2',
column: 'c1',
expression: pair.$2,
),
),
),
);
}