问题
I'm using WS class and it gave me error when I run the application:
The type or namespace name 'Entity' does not exist in the namespace 'System.Data'
I have a reference to the System.Data;
and to System.Data.Entity;
But no changes. I keep getting the error. I have also in the web.config the line:
<compilation debug ="true" targetFramework="4.0"/>
回答1:
Right-click on the Solution from the Visual Studio Solution Explorer click the Manage Nuget packages for solution and install the EntityFramework
回答2:
Hi this post is very misleading, if your reading this 2 years on.
With using EF6 and .net 4.5.1 in VS 2013 I have had to reference the following to get this to work
using System.Data.Entity.Core.EntityClient;
a little different to before,
this is more of a FYI for people that come here for help on newer problems than a answer to the original question
回答3:
Thanks every body!
I found the solution. not that I understand why but I tried this and it worked!
I just had to add a reference to: System.Data.Entity.Design
and don't have to write any using
in the code.
Thanks!
回答4:
I had entity framework 6.1.3, upgraded (well, more downgraded in NuGet) to 6.1.2. Worked.
回答5:
You need to install Entity framework by right click on your VS solution and click Manage NuGet Package solution and search there Entity framework. After installation the issue will be solved
回答6:
I just had the same error with Visual Studio 2013 and EF6. I had to use a NewGet packed Entity Framework and done the job perfectly
回答7:
I will add my answer to cover all cases:
My solution was unistalling EntityFramework from NuGet Package Manager and then I was prompted to restart Visual Studio because it couldn't "finalize the uninstall".
I restarted Visual Studio and reinstalled EntityFramework then my problem was solved.
Hope this helps someone!
回答8:
My solution was simple! I was actually having this error when checked out a repo from a svn server. I took following steps to remove error
- Cleaned solution
- Went to nuget package manager and uninstalled the entity framework.
- Removed DataModel and its .cs components.
- Shutdown the VS and opened again.
- Installed Entity Framework and Recreated entity model.
- Check if there is any files needed "Include in the solution". It worked like a charm
回答9:
tried reinstall - no luck. i had to refresh a table in my model before it would find Entity.
回答10:
It's helped me, I uninstalled EF, restarted VS and I added 'using':
using System.Data.Entity;
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Infrastructure;
回答11:
I had to refresh my DBModel. That solved it
回答12:
I had to reference System.Data.DataSetExtensions, which seems completely illogical
回答13:
Make sure you have the EntityFramework Nuget package installed for your project.
From @TonyDing's answer:
Right-click on the Solution from the Visual Studio Solution Explorer click the Manage Nuget packages for solution and install the EntityFramework
Once it is installed, I still had the error, but then did a reinstall per @papergodzilla's comment:
Update-Package -reinstall
and it resolved my issue
Do this in the Package Manager Console (View > Other windows > Package Manager Console).
Now everything is good!
回答14:
I had the same errors.
I added System.Data.Entity.Repository from Nuget Packages and the errors disappears.
Hope it wil help!
回答15:
I noticed that in the csproj the framework entity had hintpath like
<HintPath>..\..\..\..\..\..\Users\{myusername}
I had this in the nuget.config file:
<config>
<add key="repositoryPath" value="../lib" />
</config>
a) I removed the above lines, b) uninstalled the framework entity package, c) THEN CLOSED THE solution and reopened it, d) reinstalled the framework.
It fixed my issue.
回答16:
If you're using a database-first approach:
Before uninstalling / reinstalling Entity Framework, first try simply adding another table / stored procedure to your model (assuming there are any currently unmapped). That fixed the issue for me. Of course if you don't need the resource mapped then just delete it from the model afterwards. But it looks like a force-regeneration of the edmx did the trick.
回答17:
I found the root cause is when you install the nuget packages through the UI the scripts won't run sometimes. So I'd recommend open Output view while you do that. If you don't see the license agreement window when installing Nuget, there is a better change your IDE isn't doing the job right. So that's why a restart, cleanup and rebuild helps!
PS: That adding anything under System.Data.Entity.* helps because, that triggers the Nuget installer to work properly. But this I found a quite unreliable way.
So just watch the output window, you MUST see something like a successful nuget installation message at the end. Most the time when there an issue, Nuget installer won't even kick off. That's when your restart of IDE is going to help.
When things go well, Nuget package manager and IDE (I used Installer term above) would do the change, compile the solution and keep you happy! But when its not give a little help by restarting IDE and watching that Output window!
回答18:
If you are using EF version more than 6.x , then see if you have installed the entity framework nuget package in every project of your solution. You might have installed Ef but not in that particular project which you are working on.
回答19:
I installed EntityFramework 6.2
instead of 6.3
and it worked.
Perhaps it is the .NetCoreApp v2.1
or .NETFramework v4.6.1
.
回答20:
I had just updated my Entity framework to version 6 in my Visual studio 2013 through NugetPackage and add following References:
System.Data.Entity,
System.Data.Entity.Design,
System.Data.Linq
by right clicking on references->Add references in my project. Now delete my previously created Entity model and recreate it again,Built solution. Now It works fine for me.
来源:https://stackoverflow.com/questions/9972426/the-type-or-namespace-name-entity-does-not-exist-in-the-namespace-system-data