Abrufen des Überwachungsverlaufs mit Z.EntityFramework.Plus.AuditExtensions.Where in DB zuerst?

entity-framework entity-framework-plus

Frage

Ich verwende das Z.EntityFramework.Plus-Paket, um die Überwachungsfunktion in meinem Projekt zu implementieren. Ich folge dem ersten Ansatz DB, ich führe die Abfrage, die die beiden Audit-Tabellen wie hier beschrieben erstellt: durch Aktualisieren der .edmx-Datei habe ich diese neuen DBsets

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

Jetzt möchte ich das Audit-Protokoll abrufen, verwende ich Where Erweiterung-Methode in Z.EntityFramework.Plus Namespace:

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

aber der Compiler schreit mich an, dass er das DBset<AuditEntry> auf DBSet<AuditEntries> wie in der Where Definition DbSet<AuditEntry> , nicht DbSet<AuditEntries> , wenn ich den Namen der Tabelle?

Expertenantwort

Haftungsausschluss : Ich bin der Eigentümer des Projekts Entity Framework Plus

Sie verwenden derzeit den DB-Ansatz zuerst mit der benutzerdefinierten Klasse AuditEntries und AuditEntryProperties . Sie verwenden also Code First nicht mit der Klasse AuditEntry und AuditEntryProperty die von der Z.EntityFramework.Plus-Bibliothek bereitgestellt wird.

Die Erweiterungsmethode wurde für die von der Bibliothek bereitgestellte Klasse erstellt, weshalb sie nicht mit Ihrer Klasse kompatibel ist.

Sie müssen auf Ihrer Seite die gleichen Erweiterungsmethoden implementieren, die für diese Quelle gefunden wurden: DbSet`AuditEntry.cs

Wahrscheinlich werden mehr Erweiterungsmethoden benötigt.

Die Audit-Funktion soll im Sommer vollständig neu codiert werden, um mehr Erweiterbarkeit wie diese Funktion zu ermöglichen.

EDIT: Beantworten Sie die Unterfrage

Wie man es umsetzt?

Hier ist ein Beispiel, wie Sie es implementieren: https://gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum