public override void Update(TEntity entity)
 {
     EntityChangeEventHelper.TriggerEntityUpdatingEvent(entity);
     DapperActionFilterExecuter.ExecuteModificationAuditFilter <TEntity, TPrimaryKey>(entity);
     Connection.Update(entity, ActiveTransaction);
     EntityChangeEventHelper.TriggerEntityUpdatedEventOnUowCompleted(entity);
 }
        public override TPrimaryKey InsertAndGetId(TEntity entity)
        {
            EntityChangeEventHelper.TriggerEntityCreatingEvent(entity);
            DapperActionFilterExecuter.ExecuteCreationAuditFilter <TEntity, TPrimaryKey>(entity);
            TPrimaryKey primaryKey = Connection.Insert(entity, ActiveTransaction);

            EntityChangeEventHelper.TriggerEntityCreatedEventOnUowCompleted(entity);
            return(primaryKey);
        }
 public override void Delete(TEntity entity)
 {
     EntityChangeEventHelper.TriggerEntityDeletingEvent(entity);
     if (entity is ISoftDelete)
     {
         DapperActionFilterExecuter.ExecuteDeletionAuditFilter <TEntity, TPrimaryKey>(entity);
         Connection.Update(entity, ActiveTransaction);
     }
     else
     {
         Connection.Delete(entity, ActiveTransaction);
     }
     EntityChangeEventHelper.TriggerEntityDeletedEventOnUowCompleted(entity);
 }