Query - MerrionComputing/CQRSAzure GitHub Wiki
A query runs a given projection over a set of aggregate instances, which may be identified by a given identity group, and when they complete performs an aggregation over that returned data set. This could be a single record that is a mathematical aggregation function or it could return one row for each returned projection record.
This is a three step process :-
- Select the aggregate instances to run the query over
- Run the projection over each of these instances (this may be performed in parallel)
- Aggregate these projections to make the return result
A query definition will define the input parameters that will be passed in and the expected return data records. It may also be a multi-line query where one row is returned for each aggregate instance the projection ran over or a single record type query where some aggregation function is performed on that data to return a single record.