首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架4问题

实体框架4问题
EN

Stack Overflow用户
提问于 2013-07-18 15:34:47
回答 7查看 2.7K关注 0票数 14

使用.NET Web (.NET 4,EF 4),我在调试时遇到了一些奇怪的错误,实在搞不懂到底是怎么回事。

假设在DocumentRepository中,我有一个构造函数:

代码语言:javascript
复制
public DocumentRepository(DocPortalContext db)
{
    this._db = db;
}

如果我在_db上调试和悬停并钻入弹出窗口中的项,则会遇到以下错误:

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

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

没有例外情况被抓住。

如果我在存储库方法( return _db.Documents.AsQueryable(); )中放置了这一行的断点,然后悬停在Document上,则会得到以下错误:

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

如果能提供一些帮助,我们将不胜感激。

附加信息:

以下列方式钻入_db会给出最后引用的消息:

基本(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'.,这也是一个异常。

EN

回答 7

Stack Overflow用户

发布于 2013-07-18 20:51:48

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

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

票数 1
EN

Stack Overflow用户

发布于 2013-10-27 21:12:29

您的解决方案中的所有项目在项目属性中都有相同的.NET版本设置吗?这些版本是否与MSDN上描述缺失类的版本一致?

票数 1
EN

Stack Overflow用户

发布于 2013-11-06 10:55:25

尝试使用visual studio命令提示符中的entity-framework dll和sql-server dll在全局程序集缓存中注册。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17727891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档