如何访问 ViewModel 的列表

How to access list of a 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
        }); 

如何获取属于特定 "Type" 的记录数?? 对于类型 1 的示例,ObjectDetails 下有多少条记录??

我可以直接访问 "objectDetails" 吗?? 例如,如果我想知道类型 2.how 的 Id=3 的 "Name",我能得到它吗??

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

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

如果您想访问对象详细信息中的项目,您需要另一个 foreach:

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