实体框架4问题

Mat*_*ull 14 c# asp.net-mvc entity-framework asp.net-mvc-4 asp.net-web-api

使用.NET Web API(.NET 4,EF 4),我在调试时遇到一些奇怪的错误,实际上无法弄清楚发生了什么.

DocumentRepository我有这个构造函数说:

public DocumentRepository(DocPortalContext db)
{
    this._db = db;
}
Run Code Online (Sandbox Code Playgroud)

如果我调试并将鼠标悬停_db在弹出窗口中的项目中,我遇到以下错误:

System.Data.Entity.Infrastructure.IObjectContextAdapter.ObjectContext ='System.Data.Entity.DbContext'不包含'System'的定义,也没有扩展方法'System'接受类型'System.Data.Entity的第一个参数.可以找到DbContext'(您是否缺少using指令或程序集引用?)

System.Collections.Generic.ICollection> .IsReadOnly ='System.Collections.Generic.Dictionary'不包含'System'的定义,也没有扩展方法'System'接受类型'System.Collections.Generic.Dictionary的第一个参数

没有例外被捕获.

如果我在存储库方法中在此行上设置了一个断点return _db.Documents.AsQueryable();- 并将鼠标悬停在上面,Document我会收到以下错误:

System.Linq.IQueryable.Provider ='System.Data.Entity.Infrastructure.DbQuery'不包含'System'的定义,也没有扩展方法'System'接受类型'System.Data.Entity.Infrastructure的第一个参数. DbQuery'可能是...

一些帮助将非常感激.

附加信息:

_db按以下方式钻取会在最后引用消息:

base(System.Data.Entity.DbContext) - >内部上下文 - > _appConfig - >最后默认连接工厂旁边有以下错误"评估的函数需要运行所有线程."

根据我的评论提供更多信息:

这与问题没有关系,但是我认为我安装.NET或VS可能有问题 - 我不太了解管道调用,也许你们其中一个可以.无论如何,我可以浏览到我的WebAPI项目中的URI并在浏览器中返回JSON.当我尝试在我的网站项目中使用URI时,我在浏览器中得到了这个:Could not find file 'C:\Program Files (x86)\IIS Express\System.Net.Http.StreamContent'.这也是一个例外.

Ron*_*ers 1

默认情况下,EF 4 动态生成从 POCO 类或模型第一类继承的代理类。这很可能就是您在运行时收到这些错误的原因。奇怪的是,所有必需的用法都应该包括在内。

您确定您在 POCO 类中引用了 System(假设您有 POCO 类)吗?