Declaring objects wihtin or outside the loop
===

I have a Parallel loop that checks around 1 mil records in the database and sends many requests to the database. I declare the new db object inside each parallel loop.

                DataSet ds = new psqlWork().getDataSet("Select * from z_sitemap_links");
                DataTable dt = ds.Tables[0];
                Parallel.ForEach(dt.AsEnumerable(), dr =>
                {
                    new Sitemap().runSitemap(dr[1].ToString(), counter);
                    counter++;
                });


Is it proper to declare the `new Sitemap()` object outside the loop, or on each execution?