Yes, I have seen this problem before. And it was a matter of time before someone asked this question.
Basically res://*/ loads all the metadata in all assemblies, so if there are multiple sets of metadata, EF gets confused.
Thus, using res://*/ by default, since EF in WebApplications is a mistake, unfortunately, this is one that we did not have time to solve.
The workaround is to more accurately define the connection string like this: Res: ///App_Code.Northwind.csdl | Res: ///App_Code.Northwind.ssdl | Res: //*/App_Code.Northwind.msl;
Where App_Code is the App_Code folder (assuming your model is in your web project) and Northwind is the name of your EDMX. If you are having trouble getting the names to use, look at the resource names in your assembly using something like Reflector.
Doing this tells EF which CSDL, SSDL, and MSL to load from the downloaded assemblies and should solve your problem.
Hope this helps
Alex
Alex james
source share