My question says it all, but here's some background:
Due to various constraints I'm stuck on .NET 4.0 until at least July 2014. However, I'm tasked with converting our DAL to use Entity Framework for help with scalability and performance. Currently we load all data into memory from a single xml file so I'm looking at using Code First with our existing entities. We have a very large and complex model with lots of inheritance and enums and I'd really like enum support and performance improvements available with the newer releases.
So, do I starting working with EF6 now and hope it's official before our release date, start with EF4 then migrate? Or just wait until our next product release before starting with EF at all? Any advice is appreciated.
If you want to use CodeFirst you can start from EF5 for .NET Framework 4 and then move to EF6. You will miss quite a few features that are not available in this version (EF5 has a dependency on System.Data.Entity.dll that is part of the .NET Framework version and therefore EF5 for .NET Framework 4 cannot use features like enums, spatial types etc. since they are not supported in the System.Data.Entity dll shipped with .NET Framework 4). Alternatively you can just try EF6. Currently the latest version is alpha3. On the other hand it is an open source version so if something is not working or you need something you can go ahead and do it yourself. Note that there is a change in provider model in EF6 so if you are not using Sql Server or Sql Server CE you need to make sure there is an EF6 capable provider for your database.
Here is an interesting blog post from a member on our team on release dates: EF6 release datesâ€¦or lack thereof.