Linq to SQL generates StackOverflowException in tight Insert loop

Posted by ChrisW on Stack Overflow See other posts from Stack Overflow or by ChrisW
Published on 2010-05-19T20:19:15Z Indexed on 2010/05/19 20:20 UTC
Read the original article Hit count: 373

I'm parsing an XML file and inserting the rows into a table (and related tables) using LinqToSQL.

I parse the XML file using LinqToXml into IEnumerable. Then, I create a foreach loop, where I build my LinqToSQL objects and call InsertOnSubmit and SubmitChanges at the end of each loop. Nothing special here.

Usually, I make it through around 4,100 records before receiving a StackOverflowException from LinqToSql, right as I call SubmitChanges. It's not always on 4,100... sometimes it's 4102, sometimes, less, etc. I've tried inserting the records that generate the failure individually, but putting them in their own Xml file, but that inserts fine... so it's not the data.

I'm running the whole process from an MVC2 app that is uploading the Xml file to the server. I've adjusted my WebRequest timeouts to appropriate values, and again, I'm not getting timeout errors, just StackOverflowExceptions.

So is there some pattern that I should follow for times when I have to do many insertions into the database? I never encounter this exception on smaller Xml files, just larger ones.

© Stack Overflow or respective owner

Related posts about linq-to-sql

Related posts about linq-to-xml