如何在使用实体框架和WebAPI时解决引用错误

时间:2015-09-10 02:23:43

标签: c# asp.net entity-framework asp.net-web-api

我是新手,遇到了麻烦。我在VS2015中创建了一个新项目 - 一个&#;; ASP.NEt 5预览模板' Web API。然后我使用包管理器控制台添加实体框架(Install-Package EntityFramework)

然后我尝试创建一个继承自DbContext的上下文类。

我在使用System.Data.Entity'时遇到错误。线。当我将鼠标悬停在它上面时,它告诉我它可用于DNX 4.5.1但不是DNX Core 5.0 Resharper也将该行标识为无效。

  

'类型或命名空间名称'数据'在命名空间中不存在   '系统' (您是否缺少程序集引用?)BuildWatcherAPI.DNX   核心5.0

我已尝试手动添加对System.Data/System.Data.Entity的引用,但似乎并没有这样做。很明显,我做错了什么 - 有人能指出我正确的方向吗?

更奇怪的是,我再次从头开始做了这个,而且这个解决方案似乎很好。所以我必须在不经意间做了别的事情,但我很难看出这两种解决方案之间存在任何差异,而且我想了解出了什么问题。

2 个答案:

答案 0 :(得分:1)

您必须从project.json删除“dnxcore50”行,因为EF6 doesn't support .Net Core or upgrade to EF7

This answer gives more details.

答案 1 :(得分:0)

您使用的是哪个框架版本?我说您可以将您的框架版本更改为4.5并重建您的项目。我之所以这么说是因为几周前我有类似的问题而且都是因为这个原因。

我不太确定,但是EF dll有一些技巧,一些使用框架4的代码与EF 5一起使用(应该与框架4.5一起使用),有些代码没有。而且我不确定为什么......

因此,为了解决这个问题,请尝试将项目更改为使用.Net framework 4.5(和EF v5)

希望它有所帮助。