public void ExecuteNonQuery(string procName, AddSqlParametersDelegate addParams)
 {
     using (PooledConnection pooledCon = GetPooledConnection())
     {
         using (SqlCommand cmd = SqlHelper.CreateProc(procName, pooledCon))
         {
             addParams(cmd);
             cmd.ExecuteNonQuery();
         }
     }
 }
 public List <TPersistable> Search(string procName, AddSqlParametersDelegate addParams)
 {
     using (PooledConnection pooledCon = GetPooledConnection())
     {
         using (SqlDataAdapter adapter = SqlHelper.CreateSelectAdapter(procName, pooledCon))
         {
             using (adapter.SelectCommand)
             {
                 addParams(adapter.SelectCommand);
                 return(CreateEntities(adapter));
             }
         }
     }
 }