My question relates to overall design within entity framework 6. My model has an entity type called Person. Each person consists of multiple values, some of which it is important that i track the previous values of these properties. An example of that includes Last Interaction Date and Status
The model currently has a separate entity for each property i wish to track historical status on in this case Person_Status and Person_lastInteraction; the relationship is created with a 1 to many relation.
I extend the Person partial class to allow methods for updating the these tracked properties.
....There has to be a better way!
My Concerns:
- Every time i want to track a different property i have to create a new entity just for tracking those particular property changes, requiring DB changes 
- Because EF still exposes the property its possible someone could change the person status without using the methods added to the class. 
- I'm re-writing a lot of the same exact code to do essentially the same thing 
Has anyone encountered a situation as such, what did you do?
