在转换为Razor语法时出现getenenumator错误



我目前正在将混合Web Forms/MVC 2应用程序的MVC 2部分转换为MVC 3(我不熟悉Web Forms或MVC 2),并且遇到了一些foreach语句(在原始混合应用程序中工作良好)的问题。

当转换到Razor时,我的一些(不是全部)foreach语句会像这样说:

foreach语句不能对类型的变量进行操作"System.Data.Objects.DataClasses.EntityCollection"因为"System.Data.Objects.DataClasses.EntityCollection"不包含'GetEnumerator'的公共定义

这是一个来自Web Forms/MVC 2应用程序的示例。ascx,其中foreach工作良好:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Project.Activity.PortalGroup>" %>
<% if (Model.PortalMembers.Count() > 0) {  %>
    <div>
    <% foreach (var item in Model.PortalMembers) {  %>
        <div>
            <%: item.SubAccount.FirstName %> <%: item.SubAccount.LastName %>
        </div>
    <%} %>
    </div>
<%} %>

这是我对。cshtml转换的尝试,给了我错误:

@model Project.Activity.PortalGroup
@if (Model.PortalMembers.Count() > 0) 
{
    <div>
    @foreach (var item in Model.PortalMembers) 
    {
        <div>
            @item.SubAccount.FirstName @item.SubAccount.LastName
        </div>
    }
    </div>
}

尝试在项目中添加System.Data.Linq.dll引用

尝试添加对System.Data.Entity的引用。

相关内容

  • 没有找到相关文章

最新更新