Modern Solution Development–The Conundrum

The world of solution development has become much more complicated over the last 20 years – not in the solutions that are needed but in the tools we have to deliver these solutions. The nature of the internet and most recently the advent of the cloud have accelerated this even more.

When I first started in software development many years ago it was really a simple choice of what language – C, C++, Pascal or VB…where mainstream and what database – Oracle, SQL, Sybase or Access were mainstream. Changes came every 3 years without much change in between. In 2000 Microsoft launched .Net and added C#. Again the world still reved at 2.5 to 3 year intervals.

The importance of this time gap was that it allowed developers to acquire and hone the skills they needed to deliver solutions. Now we have 2 and 3 monthly updates with 6 monthly majors! It means the developer community has to constantly stay on top of these releases.

For example the Entity Framework is one of these items that causes great debate in the development community.  The following table details all of the different versions we’ve had so far.

Release Summary
EF 5 Release Candidate This release includes the latest preview of features coming in the EF 5 and can be used in Visual Studio 2010 and Visual Studio 11 to write applications that target .NET 4.0 and .NET 4.5.
EF 4.3.1 This patch release included some bug fixes to the EF 4.3 release and introduced better LocalDb support for folks using EF 4.3 with Visual Studio 11.
EF 4.3 The EF 4.3 release included the new Code First Migrations feature that allows a database created by Code First to be incrementally changed as your Code First model evolves.
EF 4.2 This release includes bug fixes to the EF 4.1.1 release.
EF 4.1.1 In addition to bug fixes this patch release introduced some components to make it easier for design time tooling to work with a Code First model. These components are used by Code First Migrations (included in EF 4.3) and the EF Power Tools.
EF 4.1 The EF 4.1 release was the first to be published on NuGet. This release included the simplified DbContext API and the Code First workflow.
EF 4 This release was included in .NET Framework 4 and Visual Studio 2010. New features in this release included POCO support, lazy loading, testability improvements, customizable code generation and the Model First workflow.
  Although it was the second release of Entity Framework it was named EF 4 to align with the .NET Framework version that it shipped with. After this release we started making Entity Framework available on NuGet and adopted semantic versioning since we were no longer tied to the ,NET Framework Version.
EF (or EF 3.5) The initial release of Entity Framework was included in .NET 3.5 SP1 and Visual Studio 2008 SP1. This release provided basic O/RM support using the Database First workflow.


The conundrum I mentioned at the start is when making architectural and project decisions causes us quite a bit of debate and that debate, unfortunately, can be based on out of date information.

A consultant who has just come off a 9 month project of intense development may be starting the next one without the down time to get up to speed on the latest versions of tried and tested software. Therefore their input into the debate may be less than helpful.

So where does this leave us – well it means we have to plan for our consultants to get that ‘downtime’ to be able to maintain their skill level.

Now back to my Entity Framework example it is very simple: what are the performance considerations  around using Entity Framework? Over the last few years there have been many articles around this issue and the associated considerations and of course continual improvement by Microsoft in offering advice or changing it per version.

For Entity framework 4 Microsoft provides a number of Performance Considerations for Entity Framework 4 with the latest or rather next version – 5.0 – even more information is provided at Performance Considerations for Entity Framework 5 . What is clear from this is our views and approaches can not stand still but must always be up to date.

Finally, we also have to consider the world of Microsoft certifications – how can we judge their value when within 6 months the basis for them could be out of date! Our world is moving fast and so must we…..

Filed under: Data Access, Entity Framework, Soloution Development
Written by Solidsoft at 15:54



Comments closed