@Lasse V. Karlsen, right now we are using POCO to persist objects. We are not using any ORM.
@Grant Crofton, looking at the solutions you mentioned, I think the first approach is more practical for us. We are planning to save the version history of any entity (Product, Purchase Order, Sales Order, etc) to one central table.
Since we are not using ORM, we are expirementing on ways how to save it on the DB:
Do we make the version entities as stream and save it on the DB? Is this even a good idea? It will make things easier for us.
Or do we save a every property name and its corresponding value of the object to the database? This way, everytime we need to get a version of an entity, we will just have to pull every attribute and values related to an object and reconstruct the object via code (I hope im not confusing you with this)
I apologise for not responding directly to each of your questions, this is an anonymous account and it seems I cannot login as the account I used earlier.