Is good or not to have temporary fields to save costly work between modules
===

I have:

 - **Raw Object**: contains raw data before importing to the system
 - **Module #1**: Validator which will validate Raw Objects
 - **Module #2**: Updater which will use validated raw data (invalid data were removed) to generate Real Objects

Module #1 has to determine whether **ItemCode** (just an example, the actual number of keys are dozens) exists in the database or not. Module #2 has to get the **Item object** by querying **ItemCode** in the database.

A developer wants to add an alien property **.TempItem** to the **raw object** so that the Module #1 will assign the **Item object** to **.TempItem** property (because it is super easy to do that) and Module #2 just needs to use **.TempItem** without querying the database second time.

My technical expert advises that it is not good.

I want to follow programming principles and best practices but have no idea how.

Any help is appreciated.