We are investigating whether to use OpenAccess ORM for our .net side in conjunction of the ERP solution that we are developing. But we are specifically interested in the "temporal capabilities".
Our ERP solution has extensive implementation of Temporal Data (http://en.wikipedia.org/wiki/Temporal_database
). We have the full concept covered for Bitemporal Data (http://en.wikipedia.org/wiki/Bitemporal_data
) so we have both valid time and transaction time implemented in many of our tables.
This means that we have a mechanism for storing historic records of an entity and for tracking the changes to the entity and for "soft deleting". But to do this we have implemented a set of APIs in our ERP system to support this. So inserts/updates/deletes of "temporally enabled" tables are done through the API. To correctly end date one record and create another valid one. And we are also implementing helpers to query the currently valid or some history records... We have done this over the course of several years and the framework is pretty stable for our purposes.
My question is whether OpenAccess ORM has the "temporal" features built in? Maybe someone has already built a "bitemporaly enabled" system and what are the experiences?
This is the theory behind it: http://www.cs.arizona.edu/~rts/tdbbook.pdf
There are suggestions of partial support in nHibernate
, but nothing that completely covers bitemporal and soft delete with gap handling, query support, and UI integration support... So is this possible to achieve with OpenAccess ORM?