如何访问ViewModel的列表

时间:2015-05-19 10:00:30

标签: c# asp.net-mvc-5 viewmodel

我有以下型号;

 public class Object
{


    public int Id { get; set; }
    public string Name { get; set; }
    public Nullable<double> Price { get; set; }
    public string Description { get; set; }
    public string Image { get; set; }
    public Nullable<int> Type { get; set; }
}

我创建了一个视图模型;

public class PlanBaseTypedObjects
{

    public int? Id { get; set; }

    public IEnumerable<Object> ObjectDetails { get; set; }
}

在我的控制器中,我按照以下方式分组;

var model = model1.GroupBy(t => t.Type).Select(g => new PlanBaseTypedObjects
        {
           Id = g.Key,
           ObjectDetails = g
        }); 

如何获得属于特定&#34; Type&#34;的记录数量? 对于类型1的示例,ObjectDetails下的记录数

我可以访问&#34; objectDetails&#34;直?? 例如,如果我想知道&#34;姓名&#34; Id = 3 of Type 2.我可以得到它吗?

1 个答案:

答案 0 :(得分:1)

您需要迭代分组结果以查找每个结果的计数。

foreach(var group in model)
{
    int groupCount = group.ObjectDetails.Count();
}

如果你想访问ObjectDetails中的项目,你需要另一个foreach:

foreach(var group in model
{
    int groupCount = group.ObjectDetails.Count();
    foreach(var item in group.ObjectDetails))
    {
        //do something with item
    }
}