Quantcast
Channel: ADO.NET, Entity Framework, LINQ to SQL, NHibernate
Viewing all articles
Browse latest Browse all 1698

Context.SaveChanges() in foreach throwing "already an open data reader..." error

$
0
0


I have some c# code that looks something like this:

   using (var objContext = Entities.EntityUtils.GetSiteEntity(true))
      {
         var Articles = from art in objContext.v2_article
                        where ...SOME CONDITION IS MET...
                        select art;
         foreach (var Article in Articles)
         {
            bool bValueChanged = false;
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(Article.body);
            bValueChanged = FixNodes(ref htmlDoc, "//img", "src");
            bValueChanged = bValueChanged || FixNodes(ref htmlDoc, "//script", "src");
            bValueChanged = bValueChanged || FixNodes(ref htmlDoc, "//link", "href");
            if (bValueChanged)
            {
               Article.body = htmlDoc.DocumentNode.InnerHtml;

               objContext.SaveChanges();
            }
         }
       }

So, when it gets to the SaveChanges() link, I get an error that says there is already an open datareader... How do I do this kind of update?


Viewing all articles
Browse latest Browse all 1698

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>