Query the context or resulting list
There are a few potential issues here, speed and accuracy in particular.
Speed
The cache is often faster than querying a value directly because of computation - you need to input, process, calculate, and output values.  For example, when you search the web, the servers return results based on cached data so they don't have to literally scan every website, read keywords, process data, etc.  Reading from the cache is as simple as getting the final value with no computation involved.
Accuracy
Querying a cache can return obsolete data.  Let's say you have a product priced at $X, and change the price for a sale.  If you don't update the cache, you will return outdated prices to your customers.  Querying the original data bypasses the intermediate value, always ensuring the value is correct.