recupero della cronologia di controllo utilizzando Z.EntityFramework.Plus.AuditExtensions.Where in DB prima?


Domanda

Uso il pacchetto Z.EntityFramework.Plus per implementare la funzione di controllo nel mio progetto; Sto seguendo il primo approccio del DB, eseguo la query che ha creato le due tabelle di controllo come descritto qui : aggiornando il file .edmx ho ricevuto quei nuovi set di dati

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

ora voglio recuperare la cronologia di controllo, io uso il metodo di estensione Where nello spazio dei nomi Z.EntityFramework.Plus:

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

ma il compilatore mi sta urlando, che non può DBset<AuditEntry> a DBSet<AuditEntries> come nella definizione Where richiede DbSet<AuditEntry> , non DbSet<AuditEntries> , dovrei cambiare il nome del tavolo?

Risposta esperta

Disclaimer : sono il proprietario del progetto Entity Framework Plus

Attualmente stai utilizzando il primo approccio DB con classe personalizzata AuditEntries e AuditEntryProperties . Quindi non stai usando Code First con la classe AuditEntry e AuditEntryProperty fornita dalla libreria Z.EntityFramework.Plus.

Il metodo di estensione è stato creato per la classe fornita dalla libreria, ecco perché è incompatibile con la tua classe.

Dovrai implementare al tuo fianco gli stessi metodi di estensione trovati su questa fonte: DbSet`AuditEntry.cs

Probabilmente saranno richiesti più metodi di estensione.

La funzione di controllo dovrebbe essere completamente ricodificata durante l'estate per consentire una maggiore estensibilità come questa funzione.

EDIT: Rispondi alla sotto-domanda

Come implementarlo?

Ecco un esempio su come implementarlo: https://gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d





Autorizzato sotto: CC-BY-SA
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché