Sto cercando di utilizzare Entity Framework 6.1.1 con SQL Server 2008 R2.Entity Framework 6 (codice prima) versioning e auditing di entità
Attualmente sto creando i miei modelli e il database utilizzando la funzionalità EF prima del codice. Il mio caso d'uso di base è quello di creare un diario di tutte le modifiche ad una particolare entità (ID
è la colonna chiave) per aiutare gli auditor a tenere traccia di tutte le modifiche apportate e da chi. ad esempio:
|ID|Version|Created Date|Created By|Modified Date|Modified By|Modify Action| ... (rest of entity fields)
-------------------------------------------------------------------------------------------------------
| 4| 12 | 12-Mar-14 | tom | 20-Feb-15 | jack | Update |
| 4| 11 | 12-Mar-14 | tom | 14-Feb-15 | jill | Update |
| 4| 1 | 12-Mar-14 | tom | 12-Mar-14 | tom | Create |
Entity Framework supporta questo tipo di schema di database? In tal caso, come posso impostare i miei modelli/soluzione per facilitare questo?
L'altra alternativa che ho è intercettando tutte le chiamate al metodo SaveChanges()
sulla DbContext
e registrare tutte le modifiche al database in una tabella separata Audit
, ma questo potrebbe rendere il recupero di informazioni più impegnativo.
Qualsiasi aiuto sulla creazione di tracce di controllo con SQL Server e EF 6 sarebbe molto apprezzato.
possibile duplicato del [Implementazione Registro di controllo/Cronologia delle modifiche con MVC e Entity Framework] (http://stackoverflow.com/questions/6867459/implementing-audit-log-change-history- with-mvc-entity-framework) –
Questo potrebbe farti strada a modo tuo: http://auditdbcontext.codeplex.com/ –
Speravo piuttosto di avere versioni di entità siccome questo è coerente con altre applicazioni di database. Attualmente il controllo delle versioni è gestito da mostri funzioni T-SQL che non desidero implementare, specialmente con EF! –