async public static Task Add <TEntity>(this DbConnection connection, TEntity entity, DbTransaction transaction = null)
 {
     var entityType = typeof(TEntity);
     var tableInfo  = GetTableInfo(entityType);
     await connection.Add(tableInfo.TableName, entity, tableInfo.IdentityColumn, tableInfo.ServerSideIdentity, transaction);
 }