I wanted to upgrade my app to EF 5 to take advantage of features like support for enum spatial etc. However, I was not able to upgrade unless I move to .Net 4.5.
I would like to know what features of .Net 4.5 does EF 5 use that it can not be done in .Net 4.0?
My understanding is that EF >= 4.1 (including EF 5) consists of
System.Data.Entity.dll
) which are part of the .NET FrameworkDbContext
API and Code-First developmentThere were plans and an attempt in summer 2011 (the Entity Framework June 2011 CTP) to release the
enum
, spatial support and other new features (except Code-First Migrations) as an update of the core librares before .NET 4.5 is released. But the EF team has decided that such out-of-band updates are possible for the NuGet package (that's why EF 4.3 already has the Migrations feature that didn't require to touch the core libraries), but for the core libraries they are too difficult and can't be done before .NET 4.5 release:(Quote from here.)
That means that
enum
support for EF will be part of the .NET 4.5 core libraries and not of the downloadable EF 5 NuGet package. Hence the new EF features likeenum
and spatial support are not available together with .NET 4.0.More about the history and reason of separating "EF Core libraries" from "EF NuGet package" is here: http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx