2010-10-28 3 views
3

J'ai vraiment besoin ici quelques exemples de code ... Ce que je suis en train de faire:Comment gérer les opérations de base de données à l'aide de threadpool et de framework d'entité?

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 
} 

Est-ce le appoach? Est-ce que je passe dans le db en tant que ref au ThreadPoolCallBack?

Répondre

1

Vous devrez créer un contexte dans le rappel du pool de threads. Les contextes d'infrastructure d'entité ne sont pas multithread et ne peuvent pas être partagés par différents threads.

Je suppose db est le contexte de votre base de données dans ce cas. Vous devrez en créer un nouveau en ThreadPoolCallback et enregistrez-le ici.

Questions connexes