【发布时间】:2026-02-21 16:15:01
【问题描述】:
我有一个用 SQL 选择查询填充的数据集。然后,我需要使用 LINQ to DataSet 对此 DataSet 执行额外的查询以进一步过滤数据。然后我想将此 LINQ 结果与某些数据控件(Repeater 或 GridView)挂钩,但它运行得不是很好。
这是我迄今为止尝试过的:
Dim sql As String = "SELECT * from someTable"
Dim ds As New System.Data.DataSet()
ds = db_functions.DB_GetDS(sql) 'Helper function that returns a dataset, not important
Dim res = (From s In ds.Tables(0) Where s.Field(Of Date)("date") > Date.Today Select s).ToList
GridView1.DataSource = res
GridView1.DataBind()
当我使用 GridView 运行页面时,有一个 GridView 有一行和两个字段 - RowError 和 HasRows,并且行中没有数据。在此示例中,一行将是正确的数字,因此 where 子句似乎被正确评估。但是为什么没有数据呢?
如果我使用中继器,页面是空白的。
有什么想法吗?
【问题讨论】:
-
尝试直接绑定
DataSet并告知结果 -
使用 DataSet 作为 DataSource 从 SQL Query 中产生预期的结果,所以数据是存在的......以前从未尝试过这个 Linq to DataSet - 有趣......
标签: linq-to-dataset