Domanda

Sono a conoscenza di molti metodi tavolo di auditing. Alcuni sono grilletto base e richiedono trigger su ogni tavolo da controllare. Alcuni hanno limitazione fondata sulla colonna tipo di dati. Come posso usare un quadro di registrazione come NLog o Log4Net. Voglio che il mio log (in una tabella) per rispondere alla domanda: "Chi ha aggiornato questa colonna della tabella da VAL0 a Val1 in questo momento?"

Non ho ancora deciso su un mapper OR. Inclinando verso NHibernate o EF.

Grazie in anticipo!

È stato utile?

Soluzione

Se si utilizza un modello come DAO (lo uso con successo in Java con Hibernate) è possibile aggiungere una voce per ogni variazione nel database. Se si utilizza Spring.NET è possibile utilizzare AOP per aggiungere intercettori ai metodi dei DAO di accesso a database.

In ogni caso, si potrebbe desiderare di aggiungere un appender speciale per il pacchetto DAO perché sarebbe molto dettagliata.

Altri suggerimenti

I vincitori risposta è di altissimo livello, ma ho voluto aggiungere che questo può essere difficile a seconda di come la vostra colonna-> mappature degli oggetti di lavoro.

Se la mappatura di colonne della tabella di opporsi proprietà e campi con nomi diversi, allora penso che sarete guardare cercando di analizzare le informazioni SQL per determinare quale colonna è stato aggiornato. Ad esempio se il vostro cambiato il valore di "Product.Price" e che le mappe in realtà ad una colonna denominata "final_price" tua registrazione sarà non corrispondere esattamente fino a che cosa sta accadendo nel database.

Anche questo potrebbe essere sbagliato, ma se il vostro lavoro con le entità scollegati attraverso un pacchetto di ORM non sono sicuro se il rilevamento delle modifiche informazioni saranno disponibili. Ricordo vagamente un problema che ho letto su dove uno degli ORM che hai elencato sono stati l'aggiornamento ogni colonna così sembrava un utente ha cambiato tutte le colonne della tabella quando in realtà aggiornato una singola colonna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top