The CacheLookup property of the table defines how and when records are cached.
The below definition is valid for the “EntireTable” cache type:
Creates a set-based cache on the server.
The entire table is cached as soon as at least one
record is selected from the table.
So, if the table cache is set to “EntireTable” cache, the system
will always fetch all fields, irrespective of the field list provided in the code.
It’s therefore, the Developer (who writes the code) responsibility to make sure
to add all necessary fields to the field list in his code, regardless the table “CacheLookup” property.
This is in order to avoid any integrity issues, if the table “CacheLookup” property, later on,
is changed to something else by somebody else.