SqlException depuis Entity Framework - Une nouvelle transaction n'est pas autorisée car d'autres threads sont en cours d'exécution dans la session

SqlException depuis Entity Framework - Une nouvelle transaction n’est pas autorisée car d’autres threads sont en cours d’exécution dans la session

Après m’être beaucoup arraché les cheveux, j’ai découvert que les boucles foreach étaient les coupables. Ce qu’il faut faire, c’est appeler EF mais renvoyer le résultat dans une IList<T> du type cible, puis boucler sur la IList<T>.

Exemple :

IList<Client> clientList = from a in _dbFeed.Client.Include("Auto") select a;
foreach (RivWorks.Model.NegotiationAutos.Client client in clientList)
{
   var companyFeedDetailList = from a in _dbRiv.AutoNegotiationDetails where a.ClientID == client.ClientID select a;
    // ...
}