Dapper Plus UseAudit


When the UseAudit property is true, the AuditEntries property stores auditing metadata about INSERTED, UPDATED, and DELETED rows and values.

/// <summary>Gets or sets the `UseAudit` property. When the `UseAudit` property is `true`, the [AuditEntries](audit-entries) property stores auditing metadata about `INSERTED`, `UPDATED`, and `DELETED` rows and values.</summary>
public bool UseAudit { get; set; }


We will demonstrate how to use the UseAudit and AuditEntries properties.


We will execute a BulkMerge on a list that contains 1 new customer, and 2 existing customers.

We will use the following BulkOptions:

  • UseAudit: To enable the auditing feature.
  • AuditEntries: To retrieve auditing metadata.


// Execute
List<AuditEntry> auditEntries = new List<AuditEntry>(); 
connection.UseBulkOptions(options => 
    options.UseAudit = true;
    options.AuditEntries = auditEntries; 

// Result
FiddleHelper.WriteTable("1 - AuditEntry", auditEntries);
FiddleHelper.WriteTable("2 - AuditEntryItem", auditEntries.SelectMany(x => x.Values));

Try it: .NET Core | .NET Framework


We outputted all AuditEntry and AuditEntryItem auditing metadata.