如何将此查询的IEnumerable结果传递给强类型视图以进行显示?
var a = _db.Test
.GroupBy(g => g.userId)
.Select(s => new { userid = s.Key, total = s.Count()});
典型的结果是:
userid = John
total = 2
userid = Joe
total = 5
任何建议表示赞赏。
答案 0 :(得分:2)
您可以创建一个自定义类,它将是一个视图模型并返回该视图模型的类型列表,而不是返回匿名类型:
public class MyVM
{
public string UserID {get;set;}
public int Total {get;set;}
}
然后:
var a = _db.Test
.GroupBy(g => g.userId)
.Select(s => new MyVM{ UserID = s.Key, Total = s.Count()}).ToList();
并在视野中:
@model List<MyVM>
答案 1 :(得分:1)
您只需要声明一个与查询结果兼容的具体类型,然后传递具体化的IEnumerable<T>
(即T[]
,List<T>
,{{1} })其中ReadOnlyCollection<T>
是新声明的类型。
T