Unwanted return values in lambda functions?
Just replace Func delegate with Action delegate if you don't want return value:

private void ExecuteCommand(string commandText, Action&lt;SqlCommand&gt; action)
{
    using (var conn = new SqlConnection(connectionString))        
    using (var cmd = new SqlCommand(commandText, conn))
        action(cmd);
}


Then getting schools will look like (with help of LINQ you can get rid of local list of schools):

public IEnumerable&lt;School&gt; GetSchools(string searchChars)
{
    DataSet ds = new DataSet();

    ExecuteCommand("dbo.usp_esrvs_API_SchoolList", cmd =&gt; {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add(new SqlParameter("@SearchValue", searchChars));
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
    });

    return from row in ds.Tables[0].AsEnumerable()
           select new School(row.Field&lt;int&gt;("esrvs_Account_ID"),
                             row.Field&lt;string&gt;("SchoolName"));
}


NOTE: Consider to use Dapper both methods above are equivalent to:

private IEnumerable&lt;School&gt; GetSchools(string searchChars)
{
    using (var conn = new SqlConnection(connectionString))        
        return conn.Query&lt;School&gt;("dbo.usp_esrvs_API_SchoolList",
                                  new { SearchValue = searchChars },
                                  commandType: CommandType.StoredProcedure);
}