Retrieve from Database always uses Locally Cached Object on Client Side (Nanoflows)
In Nanoflows: If we want to compare an Objects’ current state against it’s state in the Database we have a Nanoflow where we pass in the Object, and with a Database Retrieval we get its’ currently persisted state in order to compare ChangeSets to be commited On the ServerSide the difference between the 2 states of the Objects is Reflected, however on the Client Side if the Object is already cached the State from the Database will be ignored and both Objects will have the Attributes set according to the Client State Reality
Bela - Tamas Jozsa
Which is actually quite logical as nanoflows run client side and database in a nanoflow isn’t necessary the application database.
If you want to do a database retrieve and comparison, I would go for a microflow, which run on the app server and will use the application database for sure