Auditing and versioning database transactions is an important thing to track What's the sequence of actions? Who made these actions? and How to rollback to the previous state?
A long time ago, we used ADO.NET to interact with our databases (Informix, Sql Server, Oracle) and we audit the transaction through the database itself.
Now we use Entity Framework 6 to interact with the databases, and we want to keep track of the transactions.
I googled about auditing and versioning through Entity Framework and have found many APIs and articles concerning how to implement them but I feel confused about stability and extensible.
My main requirements :
- Auditing & Versioning the main operations (
INSERT
,UPDATE
,DELETE
). - Works With Code First & DB First (EDMX) .
- Can audit (Oracle, SQL Server) DBMS.
- Can Include and Exclude entities.
- Can audit a DB Graph.
Some search results I have found: