récupération de l'historique d'audit à l'aide de Z.EntityFramework.Plus.AuditExtensions.Where dans DB en premier?

entity-framework entity-framework-plus

Question

J'utilise le package Z.EntityFramework.Plus pour implémenter la fonctionnalité d'audit dans mon projet; Je suis la première approche de la base de données. J'exécute la requête qui a créé les deux tables d'audit comme décrit ici : en mettant à jour le fichier .edmx, j'ai obtenu ces nouveaux ensembles de bases de données.

public virtual DbSet<AuditEntries> AuditEntries { get; set; }
public virtual DbSet<AuditEntryProperties> AuditEntryProperties { get; set; }

maintenant, je veux récupérer l'historique d'audit, j'utilise la méthode d'extension Where dans l'espace de noms Z.EntityFramework.Plus:

public virtual DbSet<AuditEntries> AuditEntries { get; set; }
public virtual DbSet<AuditEntryProperties> AuditEntryProperties { get; set; }

mais le compilateur me crie qu'il ne peut pas DBset<AuditEntry> le DBset<AuditEntry> vers DBSet<AuditEntries> comme dans la définition Where il nécessite DbSet<AuditEntry> et non DbSet<AuditEntries> , si je change le nom du table?

Réponse d'expert

Disclaimer : Je suis propriétaire du projet Entity Framework Plus

Vous utilisez actuellement la première approche de base de données avec la classe personnalisée AuditEntries et AuditEntryProperties . Vous n'utilisez donc pas Code First avec les classes AuditEntry et AuditEntryProperty fournies par la bibliothèque Z.EntityFramework.Plus.

La méthode d'extension a été créée pour la classe fournie par la bibliothèque, c'est pourquoi elle est incompatible avec votre classe.

Vous devrez implémenter de votre côté les mêmes méthodes d’extension que celles trouvées sur cette source: DbSet`AuditEntry.cs

Probablement plus de méthodes d'extension seront nécessaires.

La fonctionnalité d'audit est censée être entièrement recodée pendant l'été afin de permettre davantage d'extensibilité comme cette fonctionnalité.

EDIT: répondre à la sous-question

Comment l'implémenter?

Voici un exemple de mise en œuvre: https://gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi