internal class RowVersionInterceptor : SaveChangesInterceptor { public override InterceptionResult SavingChanges(DbContextEventData eventData, InterceptionResult result) { DbContext dbContext = eventData.Context!; foreach (EntityEntry entry in dbContext.ChangeTracker.Entries().Where(e => e.State is EntityState.Added or EntityState.Modified)) { IEnumerable concurrencyTokens = entry.Properties.Where(p => p.Metadata.IsConcurrencyToken); foreach (PropertyEntry token in concurrencyTokens) { token.CurrentValue = new byte[] { 1 }; } } return base.SavingChanges(eventData, result); } }