The official source of information on Managed Providers, DataSet & Entity Framework from Microsoft
Today we are pleased to announce the RTM of Entity Framework 6. The RTM of Visual Studio 2013 was also released today – you can read more about this release on Soma’s blog. Be sure to save the date for Visual Studio 2013 Launch on Nov 13th.
The runtime is available on NuGet. If you are using Code First then there is no need to install the tooling. Follow the instructions on our Get It page for installing the latest version of Entity Framework runtime.
The tooling for Visual Studio 2013 is included in-the-box. If you are using Visual Studio 2012, the tooling is available on the Microsoft Download Center. You only need to install the tooling if you want to use Model First or Database First.
Note: In some cases you may need to update your EF5 code to work with EF6, see Updating Applications to use EF6.
The focus for the tooling in EF6 was to add support for the EF6 runtime and to enable shipping out-of-band between releases of Visual Studio.
The tooling itself does not include any new features, but most of the new runtime features can be used with models created in the EF Designer.
The following features work for models created with Code First or the EF Designer:
The following features apply to Code First only:
The 6.0.0 version of the EF package needed to be locked down early to be included in Visual Studio, ASP.NET, etc. After this lock down a number of important issues came to our attention that we felt were important to fix ASAP.
To deal with this, we are also publishing an EF 6.0.1 patch on NuGet today. If you install from NuGet you will automatically get the latest patch version. If you use a VS2013 project template that already has EF6 installed, or if the EF6 tooling installs the NuGet package for you, we would recommend updating to the latest patch version. You can do this by running Update-Package EntityFramework in Package Manager Console.
The 6.0.1 patch release is limited to fixing issues that were introduced in the EF6 release (regressions in performance/behavior since EF5). The most notable changes are to fix some performance issues during warm-up for EF models – this was important to us as we significantly improved model warm-up time in other areas in EF6 and have been listing it as a feature. You can see a complete list of the individual fixes on our CodePlex site.
Prior to EF6, a large portion of Entity Framework was included in the .NET Framework. This meant that most of Entity Framework automatically has native image generation run on it to reduce the just-in-time (JIT) compilation cost.
Because EF6 ships as a completely out-of-band release, native image generation is no longer performed automatically. This can result in an increased warm-up time for your application while JIT compilation occurs – we have seen results of around 1 second.
To remove this JIT time you can use Ngen to generate native images for the Entity Framework assembly on your machine.
Make sure you read the Ngen.exe one-page documentation in MSDN to determine what strategy makes more sense for you. Not all scenarios will benefit equally from an ngen’d EntityFramework assembly. Furthermore, as with any use of ngen, determine if your scenario degrades when ngen isn’t applied with Hard Binding. Test your options and do what gives you best results.
For EF6 we moved to an open source development model. We would like to thank the following contributors for helping to make EF6 a great release.
We’re currently in the planning phase for the releases that will follow EF6. We’ll post up a roadmap and plans once we’ve got something a little more concrete.