using System.Collections.Generic;
using System.Data.Entity;
using Z.EntityFramework.Classic;
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
this.Configuration.Audit.DisplayFormatType<DateTime>(x => x.ToString("d"));
this.Configuration.Audit.AutoSaveSet = this.XmlAuditEntries;
this.Configuration.Audit.IsEnabled = true;
public DbSet<Customer> Customers { get; set; }
public DbSet<XmlAuditEntry> XmlAuditEntries { get; set; }
public static void Main()
using (var context = new EntityContext())
context.Customers.Add(new Customer() { Name = "Customer_A", Description = "Description", Date = DateTime.Now });
FiddleHelper.WriteTable("Entity Framework - Audit Trail", context.XmlAuditEntries.ToList().ToAuditEntries().SelectMany(x => x.Properties));
public int CustomerID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public DateTime Date { get; set; }