We have two level of caches. The first one is the cache inside the IObjectScope instance which is invalidated whenever you start a new transaction. The second one is the second level cache that is shared by all contexts in one process. This cache is disabled by default, you should check if you did not enable it in the app.config.
The IObjectScope cache caches all objects that you have read once. If you execute a query that only asks for the primary key or a GetObjectByKey, we will return the object from the cache.
Let's look at process A. If you have two scopes there and change the object in the first, you can do a scope2.Retfresh(obj2) to get the actual values.
In the process B, you can do the same. Alternatively you can start a new transaction around your poll loop.
the Telerik team
Follow @OpenAccessORM Twitter channel to be the first one to get the latest updates on new releases, tips and tricks and sneak peeks at our product labs!