question

BryanValencia-7384 avatar image
1 Vote"
BryanValencia-7384 asked BryanValencia-5830 commented

'Entity Framework 5 or later is required for the current operation but not available. Make sure the project has a reference to Entity Framework version 5 or greater.'

The Error Message (for indexing)
There was an error running the selected code generator:
'Entity Framework 5 or later is required for the current operation but not available. Make sure the project has a reference to Entity Framework version 5 or greater.'

Same problem for Core or ASP.NET

  1. Create a new MVC site

  2. Connect to SQL Server Database

  3. Create Model (with all tables/views) (Models -> Right Click -> Add -> New ADO.NET Entity Model -> Code First from Database

  4. Pick a database -> Select all tables and views ->Finish

  5. Zero problems recorded, Hit Build Note my References:

    packages.config

    <?xml version="1.0" encoding="utf-8"?>
    <packages>
    <package id="Antlr" version="3.5.0.2" targetFramework="net48" />
    <package id="bootstrap" version="3.4.1" targetFramework="net48" />
    <package id="EntityFramework" version="6.2.0" targetFramework="net48" />
    <package id="jQuery" version="3.4.1" targetFramework="net48" />
    <package id="jQuery.Validation" version="1.17.0" targetFramework="net48" />
    <package id="Microsoft.AspNet.Mvc" version="5.2.7" targetFramework="net48" />
    <package id="Microsoft.AspNet.Razor" version="3.2.7" targetFramework="net48" />
    <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net48" />
    <package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
    <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net48" />
    <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.11" targetFramework="net48" />
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
    <package id="Modernizr" version="2.8.3" targetFramework="net48" />
    <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net48" />
    <package id="WebGrease" version="1.6.0" targetFramework="net48" />
    </packages>


OK, now try to scaffold one table.

  1. Controllers -> Right click -> Add -> Controller.

  2. MVC5 Controller with views, using Entity Framework
    120692-image.png

Then this:
120654-image.png

Now notice the packages.config:

 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="Antlr" version="3.5.0.2" targetFramework="net48" />
   <package id="bootstrap" version="3.4.1" targetFramework="net48" />
   **<package id="EntityFramework" version="6.1.3" targetFramework="net48" />**
   <package id="jQuery" version="3.4.1" targetFramework="net48" />
   <package id="jQuery.Validation" version="1.17.0" targetFramework="net48" />
   <package id="Microsoft.AspNet.Mvc" version="5.2.7" targetFramework="net48" />
   <package id="Microsoft.AspNet.Razor" version="3.2.7" targetFramework="net48" />
   <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net48" />
   <package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net48" />
   <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net48" />
   <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.11" targetFramework="net48" />
   <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
   <package id="Modernizr" version="2.8.3" targetFramework="net48" />
   <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net48" />
   <package id="WebGrease" version="1.6.0" targetFramework="net48" />
 </packages>

The scaffolding fails, no controllers or views are created, Entity Framework has been DOWNGRADED from 6.2.0 to 6.1.3 AND I get 47 of these when I try to build...

 Severity    Code    Description    Project    File    Line    Suppression State
 Error    CS0234    The type or namespace name 'Entity' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)    MVCWizardFail    C:\Users\Bryan Valencia\Documents\Projects\MVCWizardFail\MVCWizardFail\Models\ORM.cs    3    Active

Any ideas about how to restore this once amazing functionality - or am I condemned to hand code pages for 47x5 views?

Here is my Help/About info...

 Microsoft Visual Studio Professional 2019 (2)
 Version 16.10.2
 VisualStudio.16.Release/16.10.2+31410.357
 Microsoft .NET Framework
 Version 4.8.04084
    
 Installed Version: Professional
    
 Visual C++ 2019   00435-20150-07940-AA398
 Microsoft Visual C++ 2019
    
 ADL Tools Service Provider   1.0
 This package contains services used by Data Lake tools
    
 ASA Service Provider   1.0
    
 ASP.NET and Web Tools 2019   16.10.526.50910
 ASP.NET and Web Tools 2019
    
 ASP.NET Web Frameworks and Tools 2019   16.10.526.50910
 For additional information, visit https://www.asp.net/
    
 Azure App Service Tools v3.0.0   16.10.526.50910
 Azure App Service Tools v3.0.0
    
 Azure Data Lake Node   1.0
 This package contains the Data Lake integration nodes for Server Explorer.
    
 Azure Data Lake Tools for Visual Studio   2.6.1000.0
 Microsoft Azure Data Lake Tools for Visual Studio
    
 Azure Functions and Web Jobs Tools   16.10.526.50910
 Azure Functions and Web Jobs Tools
    
 Azure Stream Analytics Tools for Visual Studio   2.6.1000.0
 Microsoft Azure Stream Analytics Tools for Visual Studio
    
 C# Tools   3.10.0-4.21269.26+029847714208ebe49668667c60ea5b0a294e0fcb
 C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
    
 Common Azure Tools   1.10
 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
    
 Extensibility Message Bus   1.2.6 (master@34d6af2)
 Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
    
 Fabric.DiagnosticEvents   1.0
 Fabric Diagnostic Events
    
 Microsoft Azure HDInsight Azure Node   2.6.1000.0
 HDInsight Node under Azure Node
    
 Microsoft Azure Hive Query Language Service   2.6.1000.0
 Language service for Hive query
    
 Microsoft Azure Service Fabric Tools for Visual Studio   16.10
 Microsoft Azure Service Fabric Tools for Visual Studio
    
 Microsoft Azure Stream Analytics Language Service   2.6.1000.0
 Language service for Azure Stream Analytics
    
 Microsoft Azure Stream Analytics Node   1.0
 Azure Stream Analytics Node under Azure Node
    
 Microsoft Azure Tools   2.9
 Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.40423.1
    
 Microsoft Continuous Delivery Tools for Visual Studio   0.4
 Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.
    
 Microsoft JVM Debugger   1.0
 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
    
 Microsoft Library Manager   2.1.113+g422d40002e.RR
 Install client-side libraries easily to any web project
    
 Microsoft MI-Based Debugger   1.0
 Provides support for connecting Visual Studio to MI compatible debuggers
    
 Microsoft Visual C++ Wizards   1.0
 Microsoft Visual C++ Wizards
    
 Microsoft Visual Studio Tools for Containers   1.2
 Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
    
 Microsoft Visual Studio VC Package   1.0
 Microsoft Visual Studio VC Package
    
 Mono Debugging for Visual Studio   16.10.15 (552afdf)
 Support for debugging Mono processes with Visual Studio.
    
 Node.js Tools   1.5.30310.1 Commit Hash:e550dd1b679956810ccace4368dbc7a64443213b
 Adds support for developing and debugging Node.js apps in Visual Studio
    
 NuGet Package Manager   5.10.0
 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
    
 ProjectServicesPackage Extension   1.0
 ProjectServicesPackage Visual Studio Extension Detailed Info
    
 Razor (ASP.NET Core)   16.1.0.2122504+13c05c96ea6bdbe550bd88b0bf6cdddf8cde1725
 Provides languages services for ASP.NET Core Razor.
    
 SQL Server Data Tools   16.0.62105.04180
 Microsoft SQL Server Data Tools
    
 SQL Server Reporting Services   15.0.19528.0
 Microsoft SQL Server Reporting Services Designers 
 Version 15.0.19528.0
    
 ToolWindowHostedEditor   1.0
 Hosting json editor into a tool window
    
 TypeScript Tools   16.0.30429.2002
 TypeScript Tools for Microsoft Visual Studio
    
 Visual Basic Tools   3.10.0-4.21269.26+029847714208ebe49668667c60ea5b0a294e0fcb
 Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
    
 Visual F# Tools   16.10.0-beta.21262.7+1b23bbeda88ea3cb9be9af777f4c99fa8663df81
 Microsoft Visual F# Tools
    
 Visual Studio Code Debug Adapter Host Package   1.0
 Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
    
 Visual Studio Container Tools Extensions   1.0
 View, manage, and diagnose containers within Visual Studio.
    
 Visual Studio Tools for Containers   1.0
 Visual Studio Tools for Containers
    
 Visual Studio Tools for Kubernetes   1.0
 Visual Studio Tools for Kubernetes
    
 Visual Studio Tools for Unity   4.10.3.0
 Visual Studio Tools for Unity
    
 VisualStudio.DeviceLog   1.0
 Information about my package
    
 VisualStudio.Foo   1.0
 Information about my package
    
 VisualStudio.Mac   1.0
 Mac Extension for Visual Studio
    
 Xamarin   16.10.000.231 (d16-10@8111164)
 Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
    
 Xamarin Designer   16.10.0.115 (remotes/origin/c750fbf1bde3c720d077f51640fe197c6dac7cbe@c750fbf1b)
 Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
    
 Xamarin Templates   16.10.5 (355b57a)
 Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
    
 Xamarin.Android SDK   11.3.0.4 (d16-10/ae14caf)
 Xamarin.Android Reference Assemblies and MSBuild support.
     Mono: b4a3858
     Java.Interop: xamarin/java.interop/d16-10@f39db25
     ProGuard: Guardsquare/proguard/v7.0.1@912d149
     SQLite: xamarin/sqlite/3.35.4@85460d3
     Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-10@c5732a0
    
    
 Xamarin.iOS and Xamarin.Mac SDK   14.20.0.10 (0e35b2e0b)
 Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.








dotnet-aspnet-mvcdotnet-entity-framework
image.png (18.5 KiB)
image.png (8.9 KiB)
· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Adding Context:

121140-image.png

I'm pretty sure this thing: MvcControllerWithContextScaffolder is what is broken. It's DOWNGRADING EF, and putting the APP into a broken state. I am not sure what or where this thing is, I have been calling it a wizard, or what procedure to use to edit or update it.






0 Votes 0 ·
image.png (36.1 KiB)

1 Answer

YijingSun-MSFT avatar image
0 Votes"
YijingSun-MSFT answered BryanValencia-5830 commented

Hi @BryanValencia-7384,
I suggest you could uninstall and reinstall EF6. And then you need to migrate your codes from EF5 to EF6.

  1. Install the EF6 NuGet package

  2. Ensure that assembly references to System.Data.Entity.dll are removed

  3. Swap any EF Designer (EDMX) models to use EF 6.x code generation

  4. Update namespaces for any core EF types being used


More details,you could refer to below article:
https://docs.microsoft.com/en-us/ef/ef6/what-is-new/upgrading-to-ef6
Best regards,
Yijing Sun


If the answer is helpful, please click "Accept Answer" and upvote it.

Note: Please follow the steps in our  documentation  to enable e-mail notifications if you want to receive the related email notification for this thread.

· 6
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

I did uninstall EF 6.1.3 and reinstalled 6.2.0

How do I do item 3? The models were created under 6.2.0 EF to start with.

How do I do item 4? Look for what, and update it to what?

Also - I am not using core. I find it difficult to use.

0 Votes 0 ·

Hi @BryanValencia-7384 ,

How do I do item 3? The models were created under 6.2.0 EF to start with.

If you have any models created with the EF Designer, you will need to update the code generation templates to generate EF6 compatible code.
1. Delete existing code-generation templates. These files will typically be named <edmx_file_name>.tt and <edmx_file_name>. Context.tt and be nested under your edmx file in Solution Explorer. You can select the templates in Solution Explorer and press the Del key to delete them.
2.Add the appropriate EF 6.x code generation template. Open your model in the EF Designer, right-click on the design surface and select Add Code Generation Item...
If you are using the DbContext API (recommended) then EF 6.x DbContext Generator will be available under the Data tab.
If you are using the ObjectContext API then you will need to select the Online tab and search for EF 6.x EntityObject Generator.
3.If you applied any customizations to the code generation templates you will need to re-apply them to the updated templates.

How do I do item 4? Look for what, and update it to what?

You need to change the namespace.

1. Remove C# lines using System.Data.EntityClient;, which is an EF5 reference.
2. Add C# line using System.Data.Entity.Core.EntityClient; which is the correct for EF6.

Best regards,
Yijing Sun
0 Votes 0 ·

Delete existing code-generation templates.

I'm not using edmx there are no .tt files- I'm using this:
121296-image.png

Add the appropriate EF 6.x code generation template. Open your model in the EF Designer, right-click on the design surface and select Add Code Generation Item...
If you are using the DbContext API (recommended) then EF 6.x DbContext Generator will be available under the Data tab.
If you are using the ObjectContext API then you will need to select the Online tab and search for EF 6.x EntityObject Generator.


my model looks like this:
121320-image.png

What is a "Design Surface"?

There is no "Data Tab" unless you mean the server explorer.
121382-image.png

If you are using the DbContext API (recommended) then EF 6.x DbContext Generator will be available under the Data tab.
If you are using the ObjectContext API then you will need to select the Online tab and search for EF 6.x EntityObject Generator.

Are these in the NuGet Package Manager?
121338-image.png
121307-image.png

Add C# line using System.Data.Entity.Core.EntityClient; which is the correct for EF6.
As I have said, I am not using Core. I find it cumbersome, frustrating, and counterproductive.



0 Votes 0 ·
image.png (23.6 KiB)
image.png (15.9 KiB)
image.png (12.9 KiB)
image.png (93.0 KiB)
image.png (58.8 KiB)
Show more comments

Also, shouldn't fully updated VS2019 be... y'know, usable - like when you create a project should it not just work without hunting down mysterious references and doing a thousand fixes?

0 Votes 0 ·