C# 混淆了将数据控制器传递给viewmodel以查看

C# 混淆了将数据控制器传递给viewmodel以查看,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我已经两年没有做过MVC了,所以我觉得我现在很生疏。我使用下面的代码在我的页面上显示来自数据库的简单数据列表,但我得到了错误 foreach语句无法对“Models.UsersViewModel”类型的变量进行操作,因为“.Models.UsersViewModel”不包含“GetEnumerator”的公共定义 我肯定我错过了一些非常愚蠢的事情,但正如我所说的,我只是把我的脚伸进池塘里 任何洞察的Thx 商业用户 public Decimal USER_ID { get; set; }

我已经两年没有做过MVC了,所以我觉得我现在很生疏。我使用下面的代码在我的页面上显示来自数据库的简单数据列表,但我得到了错误

foreach语句无法对“Models.UsersViewModel”类型的变量进行操作,因为“.Models.UsersViewModel”不包含“GetEnumerator”的公共定义

我肯定我错过了一些非常愚蠢的事情,但正如我所说的,我只是把我的脚伸进池塘里

任何洞察的Thx

商业用户

    public Decimal USER_ID { get; set; }
    public String USERNAME { get; set; }
    public String SURNAME { get; set; }
    public String GIVENNAME { get; set; }

    public static List<User> GetList()
    {
        Entities ctx = new Entities();

        List<User> a = (from x in ctx.TABLE1
                        select new User()
                        {
                            USER_ID = x.USER_ID,
                            USERNAME = x.USERNAME,
                            SURNAME = x.SURNAME,
                            GIVENNAME = x.GIVENNAME
                        }).OrderBy(o => o.SURNAME).ToList();
        return a;
    }
视图模型

public class UsersViewModel
{
    public List<Business.User> _Users { get; set; }
}
公共类UsersViewModel
{
公共列表_用户{get;set;}
}
看法

@model ProactiveDisclosure.Models.UsersViewModel
@{
ViewBag.Title=“Index”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
指数

@ActionLink(“新建”、“创建”)

@foreach(模型中的var项目){ }
UsersViewModel
包含
业务用户列表。它不是业务用户本身的列表


将迭代更改为
@foreach(模型中的var user.\u Users)

好吧,奇怪的是,当我关闭Index.cshtml并用模型重新打开时,它开始工作。\u Users

@foreach(模型中的var项)。\u Users){
它不应该是Model.\u Users?我也是这么想的,但是foreach说'IEnumerable'没有包含'u Users'的定义,并且没有扩展方法'\u Users'在我添加模型时接受'IEnumerable'类型的第一个参数。\u Users我也是这么想的,但是foreach说'IEnumerable'没有包含定义当我添加模型时,“\u Users”和“no extension method”\u Users”接受类型为“IEnumerable”的第一个参数。\u UsersCan您发布了您现在使用的实际代码吗?
public class UsersViewModel
{
    public List<Business.User> _Users { get; set; }
}
    @model ProactiveDisclosure.Models.UsersViewModel

    @{
        ViewBag.Title = "Index";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

    <h2>Index</h2>

    <p>
        @Html.ActionLink("Create New", "Create")
    </p>
    <table class="table">
        <tr>
            <th></th>
        </tr>

    @foreach (var item in Model) {

    }

    </table>