Obtenir toutes les entités suivies à partir d'un DbContext?

De nombreuses tables dans ma base de données doivent avoir une "DateCreated" et "DateModified" de la colonne. Je veux mettre à jour ces colonnes à chaque fois que SaveChanges() est appelé.

Tous mes objets de modèle hériter d'une classe AbstractModel pour permettre ce genre de comportement. La classe ressemble à ceci:

public abstract class AbstractModel {
    public virtual void UpdateDates() { }
}

J'ai ensuite prévoyez de remplacer UpdateDates() dans n'importe quel enfant des classes qui ont des DateCreated et DateModified champs dont ils ont besoin pour maintenir.

Pour l'utiliser, j'ai besoin d'être en mesure d'obtenir une liste de toutes les entités qui le DbContext est suivi, et d'appeler UpdateDates() sur eux si l'objet est marqué comme étant Added ou Modified.

Je n'arrive pas à accéder à l'endroit où DbContext est de stocker cette information. Je peux faire dbContext.Entry(object).State pour obtenir le EntityState d'une entité unique, mais je ne peux pas travailler sur la façon d'obtenir une liste de toutes les entités de suivi.

Comment puis-je faire cela?

source d'informationauteur Oliver