Need proper syntax for parallel.foreach table in a dataset

Could use some quick assistance on running parallelforeach on a dataset .
Here is my code:

Parallel.ForEach<DataTable>(dataSet.Tables, table =>
            {
                if (table.Rows.Count > 0)
                {
                            //do some stuff
                  }                    
            });
//also tried
Parallel.ForEach( dataSet.Tables, table =>
            {
                if (table.Rows.Count > 0)
                {
                            //do some stuff
                  }                    
            });

Open in new window



Thx
Focker513Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Fernando SotoRetiredCommented:
Hi Focker513;

The issue I think you are having is that dataSet.Tables holds a collection of tables and you need to give it a single table by using it index, use the [index into collection] or you can use its name if you have given it a name like so ["TheTableName"]. See the code snippet, it is using the very first table in the collection, index 0.

Parallel.ForEach<DataTable>(dataSet.Tables[0], table =>
            {
                if (table.Rows.Count > 0)
                {
                            //do some stuff
                  }                    
            });

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Focker513Author Commented:
Cool, here is the working code:
    
       Parallel.For(0, dataSet.Tables.Count, i =>
        {
            if (dataSet.Tables[i].Rows.Count > 0) 
            {
               //Do some stuff
            }
        }

Open in new window

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.