In our scenario, we store datatable objects in the cache. Lets assume the following.
User1: calls GetDataObject and gets a reference to the cached object and starts updating some of the fields in the dataTable.
User2: calls GetDataObject while User1 is still updating, gets a reference to the same object, but the table is still being updated by User1
This results in User2 seeing the incomplete update from User1 and a few mins later, if User2 makes another getdata request, she gets the completed datatable.
I am guessing Entlib expected the useage to be readonly for cache objects, in this case, we get the datatable from cache, update and then re-insert.
Since we are getting a reference, there is no reason to re-insert, but the multi user update problem is a killer