New transaction is not allowed because there are other threads running in the session LINQ To Entity
c#, linq, linq-to-entities
Solution
The `pp` variable isn't a collection of objects, it's an enumerator that can return objects. While you use the enumerator, the source has to remain open.
Use the `ToList` method to realise the enumerator into a collection. That will read all items from the enumerator and close the connection to the source, so that you can use the connection for other things.
foreach (var p in pp.ToList())
Problem
Any ideas on why this could be breaking? ``` foreach (var p in pp) { ProjectFiles projectFile = (ProjectFiles)p; projectFile.Status = Constants.ProjectFiles_ERROR; projectFile.DateLastUpdated = DateTime.Now; context.SaveChanges(); } ``` I read that the workaround the issue, is to retrieve the results in one go before the foreach loop. But didnt I do that? "pp" is the collection of results in my case