Code
var test = from o in data.Problems
.Where(p => p.Visible)
let Problem = o
select new {
Problem,
Problem.Submits.Count
};
var list = test.ToList();
这时候在这段代码的上下文中list的内容被解释为了一个匿名类'a,但是我需要在别的地方——比如ASP.NET MVC中的ViewData中传递、获取并显示这个List中的内容,这时候就出问题了:ViewData是object类型的字典,我无法得知如何把这个ViewData转换为可用的类型,不知如何解决这个问题?总不可能select匿名对象的时候都弄个只用一两次的类来包装着吧?那样不就失去匿名类型的便捷性了吗?
自己设定多一个实体类,然后
select new 自定义实体类 {
xxx = Problem.Submits.Count
}
只能用反射来取里面的属性了
var test = from o in data.Problems
.Where(p => p.Visible)
let Problem = o
select new {
Problem,
Problem.Submits.Count
};
IList list = test.ToList(); 直接返回IList,一般的数据控件可以直接绑定值的