使用.NET Web (.NET 4,EF 4),我在调试时遇到了一些奇怪的错误,实在搞不懂到底是怎么回事。
假设在DocumentRepository中,我有一个构造函数:
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'.,这也是一个异常。
发布于 2013-07-18 20:51:48
默认情况下,EF 4动态生成从POCO类或模型第一类继承的代理类。这很可能是运行时出现这些错误的原因。奇怪的是,所有必需的用法都应该包括在内。
您确定您在POCO类中引用了系统(假设您有POCO类)吗?
发布于 2013-10-27 21:12:29
您的解决方案中的所有项目在项目属性中都有相同的.NET版本设置吗?这些版本是否与MSDN上描述缺失类的版本一致?
发布于 2013-11-06 10:55:25
尝试使用visual studio命令提示符中的entity-framework dll和sql-server dll在全局程序集缓存中注册。
https://stackoverflow.com/questions/17727891
复制相似问题