Audit Trail con Entity Framework Core

Una Audit Trail (también llamada Audit Log) es una de las formas más efectivas de realizar un seguimiento de las acciones de los usuarios, proporcionando evidencia de una secuencia de actividades que afectan la información, los procesos etc.

Utilizando Entity Framework Core, podemos auditar fácilmente los cambios, sobreescribiendo el método SaveChanges().

Vamos a lo que interesa

Defina la clase context y las clases de entidad que conforman su modelo:

Ahora, debemos definir una clase context auditable y el modelo AuditTrail:

Con los comandos de migración EF, creamos nuestra base de datos y sus tablas:

dotnet ef migrations add InitialCreate --context BloggingContext
dotnet ef database update --context BloggingContext

Vamos a las pruebas

Agregaremos datos a nuestra tabla Blog:

INSERT INTO [Blogging].[dbo].[Blogs] (Url) 
VALUES ('blog.victorleonardo.com');

Ahora, debemos efectuar un cambio a la data que acabamos de insertar, utilizando nuestra clase context auditable:

Voilà:

This image has an empty alt attribute; its file name is Screen-Shot-2019-04-28-at-4.41.21-PM.png