2009-10-30 5 views
2

L'exigence est de suivre toutes les modifications apportées à une entité, de la suivre pour savoir qui l'a fait, quand il l'a fait, etc. Par exemple, j'ai une entité Personne, et un utilisateur a changé le nom de la personne; J'aimerais garder cette information quelque part.Quelle est la meilleure façon de mettre en œuvre des changements de suivi sur vos entités?

Quelle est la meilleure approche pour cela? Ou existe-t-il un cadre existant pour y parvenir?

Je sais que SQL 2008 a un support pour le suivi des changements, mais ce n'est pas une option pour l'instant, parce que beaucoup de nos clients utilisent déjà SQL 2005.

est Logging Application Block d'Enterprise Library un bon candidat pour cette exigence? J'ai vérifié un peu mais, je ne vois pas comment je peux l'employer pour dépister le qui l'a fait, quelle valeur a changé, quand il l'a fait, etc.

Nous employons C# et. Cadre NET pour notre application.

+0

Est-ce que quelqu'un a déjà utilisé le bloc d'application de journalisation de la bibliothèque d'entreprise pour y parvenir? – pdiddy

+0

Très similaire à cette question: http://stackoverflow.com/questions/1051449/ideas-on-database-design-for-capturing-audit-trails –

+0

duplication possible de [Suivi des modifications dans une base de données SQL Server 2005] (http : //stackoverflow.com/questions/299931/tracking-changes-in-a-sql-server-2005-database) –

Répondre

1

un coup d'oeil here

1

façon Standrad est d'utiliser des événements à partir d'interfaces INotifyPropertyChanging et INotifyPropertyChanged. Et pour les collections INotifyCollectionChanged. Une fois que vous vous êtes abonné à cet événement, vous pouvez stocker des informations où vous le souhaitez.

Si vous en utilisant MSSQL vous pouvez essayer Query Notifications

0

Une sorte de solution AOP (comme celui de la bibliothèque de l'entreprise) devrait vous fournir suffisamment de possibilités pour créer une telle solution.

Vous pouvez vous abonner à une méthode d'appel de propriété et enregistrer les informations.

+0

quelle est la solution AOP? – pdiddy

+1

AOP est synonyme de programmation orientée aspect. –

+0

Vous auriez un aspect représentant les modifications apportées à vos objets métier. Vous pouvez définir la fonction à appeler lors de la modification d'une propriété. Par conséquent, vous pouvez ajouter une connexion à votre code d'entreprise, non seulement lors de la requête de base de données, mais également lorsque vous êtes dans votre couche de gestion. –

Questions connexes