<rss version="2.0" xmlns:a10="http://www.w3.org/2005/Atom"><channel><title>Inflectra Customer Forums: Six Years Later and All The DataSets Are Gone (Thread)</title><description>
So in 2010 as we worked on SpiraTeam v3.0 we started developing the new version using ASP.NET 4.0 and Visual Studio 2010. As we upgraded our environment, we realized that all of the old SpiraTeam code was using an obsolete technology for communicating with the database. Called  ADO.NET Strongly Typed DataSets , it was a way for a web application using ASP.NET 1.1 to send data to/from the database using C# objects to hold the data and raw SQL queries to do the retrieves and writes to the database.  We decided that we needed to  refactor SpiraTeam , which would ensure that the architecture would be strong for the future. This was important for us since it was critical that SpiraTeam's foundation would sustain the expected growth over the years ahead. Using our agile approach to architecture, we realized quickly that this effort would take many man-years to accomplish due to the size of the application and the need to rewrite the entire back-end! So we put in place the following refactoring manifesto instead:   All new functionality would use the new  Microsoft Entity Framework EF4  instead of ADO.NET DataSets  We would refactor 1-2 modules to use EF per release of the system      Now we can fast forward to 2017, with the release of v5.2 in March we will have retired the last of the DataSet code. It has taken:   over 1,000,000 lines of code to be rewritten  approximately 4,500 cups of coffee  1,800 searches on Stack Overflow  1 copy of the great O'Reilly book on Entity Framework  250 merge conflicts in Subversion with the dratted .EDMX file  85 attempts to get round the composite key issue in Entity Framework  120 new stored procedures   But at the end of it, we have a completely re-architected data access and business logic framework to SpiraTeam.  Of course, now we want to move to ASP.NET 4.6 and Entity Framework 6.0... but that's a story for another day!  





</description><language>en-US</language><copyright>(C) Copyright 2006-2026 Inflectra Corporation.</copyright><managingEditor>support@inflectra.com</managingEditor><category domain="http://www.dmoz.org">/Computers/Software/Project_Management/</category><category domain="http://www.dmoz.org">/Computers/Software/Quality_Assurance/</category><generator>KronoDesk</generator><a10:contributor><a10:email>support@inflectra.com</a10:email></a10:contributor><a10:id>http://www.inflectra.com/kronodesk/forums/threads</a10:id><ttl>120</ttl><link>/Support/Forum/announcements/rants-raves/1619.aspx</link><item><guid isPermaLink="false">threadId=1619</guid><author>David J (adam.sandman+support@inflectra.com)</author><category domain="http://www.inflectra.com/kronodesk/thread/tag">refactoring</category><category domain="http://www.inflectra.com/kronodesk/thread/tag"> agile</category><category domain="http://www.inflectra.com/kronodesk/thread/tag"> database</category><category domain="http://www.inflectra.com/kronodesk/thread/tag"> entity framework</category><category domain="http://www.inflectra.com/kronodesk/thread/tag"> dot net</category><title>Six Years Later and All The DataSets Are Gone</title><description>
So in 2010 as we worked on SpiraTeam v3.0 we started developing the new version using ASP.NET 4.0 and Visual Studio 2010. As we upgraded our environment, we realized that all of the old SpiraTeam code was using an obsolete technology for communicating with the database. Called  ADO.NET Strongly Typed DataSets , it was a way for a web application using ASP.NET 1.1 to send data to/from the database using C# objects to hold the data and raw SQL queries to do the retrieves and writes to the database.  We decided that we needed to  refactor SpiraTeam , which would ensure that the architecture would be strong for the future. This was important for us since it was critical that SpiraTeam's foundation would sustain the expected growth over the years ahead. Using our agile approach to architecture, we realized quickly that this effort would take many man-years to accomplish due to the size of the application and the need to rewrite the entire back-end! So we put in place the following refactoring manifesto instead:   All new functionality would use the new  Microsoft Entity Framework EF4  instead of ADO.NET DataSets  We would refactor 1-2 modules to use EF per release of the system      Now we can fast forward to 2017, with the release of v5.2 in March we will have retired the last of the DataSet code. It has taken:   over 1,000,000 lines of code to be rewritten  approximately 4,500 cups of coffee  1,800 searches on Stack Overflow  1 copy of the great O'Reilly book on Entity Framework  250 merge conflicts in Subversion with the dratted .EDMX file  85 attempts to get round the composite key issue in Entity Framework  120 new stored procedures   But at the end of it, we have a completely re-architected data access and business logic framework to SpiraTeam.  Of course, now we want to move to ASP.NET 4.6 and Entity Framework 6.0... but that's a story for another day!  





</description><pubDate>Thu, 09 Feb 2017 02:49:59 -0500</pubDate><a10:updated>2017-03-03T19:31:27-05:00</a10:updated><link>/Support/Forum/announcements/rants-raves/1619.aspx</link></item><item><guid isPermaLink="false">messageId=2909</guid><author>David J (adam.sandman+support@inflectra.com)</author><title>&#xD;
 Let us know if you have any similar stories of mammoth multi-year refactoring efforts? Was the ef</title><description>&#xD;
 Let us know if you have any similar stories of mammoth multi-year refactoring efforts? Was the effort to pay down the  technical debt  worth it? &#xD;
&#xD;
</description><pubDate>Thu, 09 Feb 2017 02:51:04 -0500</pubDate><a10:updated>2017-02-09T02:51:04-05:00</a10:updated><link>/Support/Forum/announcements/rants-raves/1619.aspx#reply2909</link></item></channel></rss>