views:

23

answers:

1

Hi!

I really need some code examples here... What I am trying to do:

   GetCollectionFromDatabase
    foreach item
    {
        resetEvents[i] = new ManualResetEvent(false);
        var makeRequest = new MakeRequest(resetEvents[i]);

        ThreadPool.QueueUserWorkItem(new WaitCallback(makeRequest.ThreadPoolCallback), i);

    }

    db.Save();


    ThreadPoolCallback  
     {
        update/delete the row 
     }

Is this the right appoach? Do I pass in the db as a ref to the ThreadPoolCallBack?

Thanks!

/Mike

A: 

You will have to create a context within the thread pool callback. Entity framework contexts are not multi threaded and cannot be shared by different threads.

I take it db is your database context in this case. You will have to create a new one in ThreadPoolCallback and save it there.

Pieter