The relationship between Entity Framework 4 betas and ctps explained
There seems to be enough confusion about the betas and ctps of Entity Framework 4 to warrant a brief post. Hopefully this should clear things up nicely.
Put simply:
- Most of Entity Framework 4 (EF4) will ship with .NET Framework 4 and Visual Studio 2010 (.NET4/VS2010), however not all of it will.
- Most of EF4 is therefore in the beta releases of .NET4/VS2010, however not all of it is.
- The missing bits of EF4 appear in EF4 Feature CTP releases “soon after” the release of a beta.
Right now (Nov 6th 2009), we have:
- A fairly old .NET4/VS2010 Beta 1 + Entity Framework Feature CTP 1. CTP 1 only works with Beta 1.
- CTP1 adds:
- Self Tracking Entities
- POCO Templates
- Code Only
- CTP1 adds:
- A very recent .NET4/VS2010 Beta 2 + Entity Framework Feature CTP 2. CTP 2 only works with Beta 2.
- CTP2 was released 4th Nov 2009
- CTP2 adds:
- Lots of new stuff to Self Tracking Entities
- Lots of new stuff to Code Only
- Does not include the POCO Template from CTP 1
The missing POCO template stuff will be resolved in a future CTP.
Beta 2 of EF 4 added a fair amount of new features, as does CTP 2. Therefore the obvious right choice to go with is Beta 2 + CTP 2 – but expect breaking changes to your code. I haven’t tried looking into taking the CTP1 POCO stuff onto Beta 2 but it should be doable. However the “in built” POCO support in Beta 2 is far better than Beta 1, hence (I assume) not all the templated code is now needed.
P.S. In case you were wondering, I am doing my TechEd session using Beta 1 + CTP 1 as Nov 4th was just too late for me to switch over plus I didn’t really have any space in the session for the new Beta 2/CTP 2 stuff anyway!