recuperando el historial de auditoría usando Z.EntityFramework.Plus.AuditExtensions.Where en DB primero?


Pregunta

Estoy usando el paquete Z.EntityFramework.Plus para implementar la función de auditoría en mi proyecto; Estoy siguiendo el enfoque de DB primero, ejecuto la consulta que creó las dos tablas de auditoría como se describe aquí : al actualizar el archivo .edmx obtuve esos nuevos conjuntos de datos

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

ahora quiero recuperar el historial de auditoría, uso el método de extensión Where en el espacio de nombres Z.EntityFramework.Plus:

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

pero el compilador me está gritando, que no puede lanzar el DBset<AuditEntry> a DBSet<AuditEntries> como en la definición Where requiere DbSet<AuditEntry> , no DbSet<AuditEntries> , debo cambiar el nombre de ¿mesa?

Respuesta experta

Descargo de responsabilidad : soy el propietario del proyecto Entity Framework Plus

Actualmente está utilizando DB primer acercamiento con clase personalizada AuditEntries y AuditEntryProperties . Por lo tanto, no está utilizando Code First con la clase AuditEntry y AuditEntryProperty proporcionada por la biblioteca Z.EntityFramework.Plus.

El método de extensión se ha creado para la clase proporcionada por la biblioteca, por lo que es incompatible con su clase.

Tendrá que implementar en su lado los mismos métodos de extensión que se encuentran en esta fuente: DbSet`AuditEntry.cs

Probablemente se requerirán más métodos de extensión.

Se supone que la función de auditoría se debe volver a codificar completamente durante el verano para permitir una mayor capacidad de extensión como esta función.

EDIT: respuesta sub-pregunta

¿Cómo implementarlo?

Aquí hay un ejemplo de cómo implementarlo: https://gist.github.com/mshwf/af017b50ceb2994d953762ef2b20386d





Licencia bajo: CC-BY-SA
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué