Równolegle nie działa z Entity Framework

Mam listę identyfikatorów i muszę uruchomić kilka procedur składowanych na każdym identyfikatorze.

Kiedy używam standardowej pętli foreach, działa ona poprawnie, ale gdy mam wiele rekordów, działa dość wolno.

Chciałem przekonwertować kod, aby działał z EF, ale otrzymuję wyjątek: „Bazowy dostawca nie powiódł się przy otwieraniu”.

Używam tego kodu wewnątrz Parallel.ForEach:

using (XmlEntities osContext = new XmlEntities())
{
    //The code
}

Ale nadal rzuca wyjątek.

Jakiś pomysł, jak mogę korzystać z Parallel with EF? czy muszę stworzyć nowy kontekst dla każdej procedury, którą prowadzę? Mam około 10 procedur, więc myślę, że bardzo źle jest stworzyć 10 kontekstów, po jednym dla każdego.

questionAnswers(4)

yourAnswerToTheQuestion