问题
Just upgraded to Entity Framework 6 to take a look. I'm using MVC4.
But i recieve this message when trying to make a controller from a model and context.
MVC scaffolding does not support Entity Framework 6 or later
回答1:
Thought this could use some expanding :) As mentioned above ASP.NET MVC 4 scaffolding does not support EF6 or higher. This means that an older EF, compatible with MVC 4 will have to be installed. To do this:
- Open the Package Manager Console:
- select TOOLS -> Library Package Manager -> Package Manager Console
In the Package Manager Console, uninstall the current EF package by executing the following command:
UnInstall-Package EntityFramework -Version <version number>*Where
<version number>is the version number of the EF currently installed.
*NOTE: to find out what EF version is installed, run the following command in the Package Manager Console:Get-Package EntityFrameworkTo avoid potential metadata problems the providers entry in the Web.config file will need to be removed:
- Open the Web.config file in the project directory.
Delete the following lines:
<providers> <provider invariantName=System.Data.SqlClient type=System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer /> </providers>
Now, in the Package Manager Console Execute the following command to install Entity Framework 5.0.0:
Install-Package EntityFramework -Version 5.0.0
回答2:
After a bit more digging
ASP.NET MVC 4 scaffolding does not support Entity Framework 6 or higher. Support of scaffolding of Entity Framework 6 is targeted for the next release of ASP.NET MVC.
So looks like ill wait until MVC 5 is properly released
回答3:
ASP.NET MVC 4 scaffolding does not support Entity Framework 6 or later. Support for scaffolding will be included in MVC5. Work around is to use EF5 for scaffolding and then upgrade to EF6.
http://support.microsoft.com/kb/2816241
回答4:
Workaround which worked for me to scaffold controllers and views for MVC 4 and EF 6:
- Use an EXISTING OR NEW MVC 5 Project and copy the Entity Data Model for which you want to create your scaffolding in MVC 4.
- Add the Entity Data Model to your MVC 5 DBContext
- Create your scaffolded controller and views in the MVC 5 Project which obviously works with EF 6.
- Copy the generated views from MVC 5 to your old MVC 4 Project
This is a solution to generate scaffolding if you do not want to downgrade the EF Version.
For me this worked out of the box
来源:https://stackoverflow.com/questions/19165410/mvc-scaffolding-does-not-support-entity-framework-6-or-later