我正在使用CoolStorage
从Access数据库中检索数据,并且可以通过将其DataSource设置为DataGridView
来成功填充团队Team.List()
。
但是,我想在结果集上使用LINQ查询来返回每个团队的用户数。由于此屏幕截图显示结果正常返回,但DataGridView
不显示任何数据。如果我将DataSource
切换为Team.List()
,则会显示团队没有任何问题(尽管显然不是用户数)。
为了将LINQ结果用作DataSource,我还需要做些什么吗?我可以通过向我的Team类添加属性来解决这个问题,但是我不明白为什么我不能使用LINQ结果。
答案 0 :(得分:3)
在使用之前,您需要实现数据源。
尝试更改
this.dgvTeams.DataSource = d;
到
this.dgvTeams.DataSource = d.ToList();
答案 1 :(得分:1)
LINQ使用延迟执行。也就是说,您已经构建了LINQ查询,但实际上不会对其进行求值以产生结果,除非您在查询末尾添加方法或聚合以强制立即评估,或者您可以枚举结果。
尝试使用...
this.dgvTeams.DataSource = d.ToList();