首页 新闻 会员 周边

请问IQueryable匿名对象怎么遍历

0
悬赏园豆:5 [已解决问题] 解决于 2014-08-20 11:22

public IQueryable<object> CompanyUser()
{
IQueryable<object> query;
using (teaCRMDBContext db = new teaCRMDBContext())
{
IDbSet<TSysCompany> comps = db.TSysCompanies;
IDbSet<TSysUser> users = db.TSysUsers;
query = comps.Join(users, c => c.Id, u => u.CompId, (comp, user) => new
{
CompanyId = comp.Id
});

}
return query;
}

 

static void Main(){

  IQueryable<object> compUsers = CompanyUser();

foreach (var compUser in compUsers)
{
var aaa= compUser.CompanyId;//这里报错
}

}

 

灯塔下的守望者的主页 灯塔下的守望者 | 菜鸟二级 | 园豆:319
提问于:2014-08-20 10:50
< >
分享
最佳答案
0

可能需要用dynamic,参考:Passing Anonymous Types with Dynamic Lists

收获园豆:5
dudu | 高人七级 |园豆:30994 | 2014-08-20 11:11

非常感谢。

灯塔下的守望者 | 园豆:319 (菜鸟二级) | 2014-08-20 11:21
其他回答(3)
0

因为你的是object对象,如果点不出来CompanyId。

幻天芒 | 园豆:37175 (高人七级) | 2014-08-20 11:08
0

使用json对象来达成目的。

匿名类型是internal的,跨模块后,即便使用dynamic也不能检索起属性。

方法:使用JavaScriptSerializer类来辅助达成目标。

519740105 | 园豆:5810 (大侠五级) | 2014-08-20 11:25
0

看代码其实你不是知道类型么?知道类型强制转换一下不就行了?

顾晓北 | 园豆:10844 (专家六级) | 2014-08-20 14:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册