首页 新闻 会员 周边

Linq to SQL中select匿名类的问题

0
悬赏园豆:50 [已解决问题] 解决于 2008-09-29 11:33

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();
这是我一个Linq to SQL代码段

这时候在这段代码的上下文中list的内容被解释为了一个匿名类'a,但是我需要在别的地方——比如ASP.NET MVC中的ViewData中传递、获取并显示这个List中的内容,这时候就出问题了:ViewData是object类型的字典,我无法得知如何把这个ViewData转换为可用的类型,不知如何解决这个问题?总不可能select匿名对象的时候都弄个只用一两次的类来包装着吧?那样不就失去匿名类型的便捷性了吗?

JimLiu的主页 JimLiu | 菜鸟二级 | 园豆:300
提问于:2008-09-24 09:29
< >
分享
最佳答案
0

自己设定多一个实体类,然后

select new 自定义实体类 {

  xxx = Problem.Submits.Count

}

takwai | 菜鸟二级 |园豆:357 | 2008-09-24 13:12
其他回答(2)
0

只能用反射来取里面的属性了

Gray Zhang | 园豆:17610 (专家六级) | 2008-09-24 09:37
0

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,一般的数据控件可以直接绑定值的

RyanCheng | 园豆:474 (菜鸟二级) | 2012-12-05 16:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册