The storage provider 240 executes the query, and returns a message, e.g. a message that may be formatted to be passed to or from a DataReader interface (a ???DataReader???) to bridge 230.The bridge 230 comprises a result/value assembly service 232 that assembles, if necessary, results from potentially multiple DataReaders returned by the storage provider 240.