I followed @JoeAlbahari's instructions and installed EF 4.2 in the GAC. Merely having EntityFramework.dll in the same folder as the dll with the context reference didn't work.
BUT - a new problem has arisen: some days after everything was working, any queries against the context throw an exception:
The type or namespace name 'Infrastructure' does not exist in the namespace 'System.Data.Entity'
There was also an assembly reference error - press F4 to fix:
Metadata file 'EntityFramework.dll' could not be found
I thought it may have been caused by the installation of EntityFramework.Migrations (the only change) but I removed it - and still the same exception. I built another EF 4.2 POCO context with Migrations and it works fine.
Any suggestions on how to fix this?