如何访问ViewModel的列表

本文关键字:ViewModel 列表 访问 何访问 | 更新日期: 2023-09-27 17:49:38

我有以下模型;

 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
        }); 

我如何获得属于特定"类型"的记录数??例如,类型1下有多少记录ObjectDetails??

,我可以直接访问"objectDetails"吗?例如,如果我想知道类型2的Id=3的"Name"。我怎么才能拿到呢?

如何访问ViewModel的列表

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

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
    }
}