foreach error with EntityCollection<TEntity>
本文关键字:TEntity gt error lt EntityCollection foreach with | 更新日期: 2023-09-27 18:16:47
你好,我得到一个错误,我不能解释它
我正在尝试用foreach循环解析EntityCollection
下面是我得到的错误:
foreach语句不能操作
类型的变量"System.Data.Objects.DataClasses.EntityCollection'
因为"System.Data.Objects.DataClasses.EntityCollection'
不包含'GetEnumerator'的公共定义
这真的很奇怪,因为我有一个控制台应用程序,我工作得很好。但是后来我想做一个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>
这听起来像是您缺少一个程序集引用。
你的代码给出编译错误,它还没有正确刷新所有引用。这就是为什么它看不到你知道存在的东西。
有点像猪…去删除你所有的bin目录清理和重建所有和交叉手指。
如果失败,开始从项目中删除引用并读取它们。
通常最终修复。
你可能有另一个构建错误在你的输出…解决这个问题可能会让程序集编译,然后允许其他程序编译,从而解决这里的问题。
如果您按数字列对构建错误进行排序,并首先修复最低的数字,您可能会发现事情更容易。
Linq扩展方法不在上下文中,这就是为什么你得到这个错误。
1)验证项目是否有以下引用:
System.Data.Entity.dll
2)如果您使用的是ASP。NET MVC把它放在View的顶部
@using System.Linq;
或者在网上。在views文件夹中配置:
<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>
希望这对你有帮助!