0

我正在使用从 Access 数据库中检索数据,并且可以通过将其 DataSource 设置为CoolStorage来成功填充团队。DataGridViewTeam.List()

但是,我想对结果集使用 LINQ 查询来返回每个团队的用户数。正如此屏幕截图所示,结果返回正常,DataGridView但未显示任何数据。如果我切换它DataSourceTeam.List()它会显示没有任何问题的团队(尽管显然不是用户数量)。

为了将 LINQ 结果用作数据源,我需要做些什么吗?我可以通过向我的 Team 类添加一个属性来解决这个问题,但是我不明白为什么我不能使用 LINQ 结果。

截屏

4

2 回答 2

3

您需要先实现您的数据源,然后才能使用它。

尝试改变

this.dgvTeams.DataSource = d; 

this.dgvTeams.DataSource = d.ToList();
于 2012-12-19T21:26:57.937 回答
1

LINQ 使用延迟执行。也就是说,您已经构建了 LINQ 查询,但它实际上不会被评估以产生结果,除非您在查询末尾添加方法或聚合以强制立即评估,或者您可以枚举结果。

尝试使用...

this.dgvTeams.DataSource = d.ToList();
于 2012-12-19T21:30:53.153 回答