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 :-

  1. Select the aggregate instances to run the query over
  2. Run the projection over each of these instances (this may be performed in parallel)
  3. 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.