你好,我有个错误,我无法解释。
我正在尝试使用foreach循环解析一个EntityCollection。
下面是我遇到的错误:
foreach语句不能对类型的变量进行操作。 'System.Data.Objects.DataClasses.EntityCollection‘ 因为'System.Data.Objects.DataClasses.EntityCollection‘ 不包含“GetEnumerator”的公共定义。
这真的很奇怪,因为我有一个控制台应用程序,而且工作得很好。BUt然后我想做一个web应用程序。
使用控制台应用程序,我可以执行foreach,但是我在Web应用程序中得到了错误。
快把我逼疯了。(请帮助:)
以下是代码:
foreach (INITIATIVE_REF_STRATEGIC_AXIS stratAxe in i.INITIATIVE_REF_STRATEGIC_AXIS)
{
}i.INITIATIVE_REF_STRATEGIC_AXIS是System.Data.Objects.DataClasses.EntityCollection<INITIATIVE_REF_STRATEGIC_AXIS>型的
发布于 2013-06-04 13:31:21
Linq扩展方法不在上下文中,这就是为什么您要得到这个错误。
1)核实该项目是否有下列参考资料:
System.Data.Entity.dll2)如果您使用的是ASP.NET MVC,请将其放在视图的顶部
@using System.Linq;或者在视图文件夹中的web.config中:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Linq" />
</namespaces>
</pages>
</system.web.webPages.razor>希望这能帮到你!
发布于 2013-06-04 13:28:16
这听起来像是缺少了程序集引用。
您的代码给出了编译错误,而且它还没有正确地刷新所有引用。这就是为什么它看不见你知道的东西。
有点像猪..。去删除你所有的垃圾箱目录清理和重建所有和祈祷。
如果失败,就开始从项目中删除引用并读取它们。
通常最终都会修好。
您可能在输出中有另一个构建错误..。修复该问题可能会让程序集编译,然后允许进行其他编译,从而解决这里的问题。
如果您按照number列对构建错误进行排序,并首先修复最低的编号,您可能会发现事情更容易。
https://stackoverflow.com/questions/16919017
复制相似问题