【发布时间】:2015-07-28 18:42:07
【问题描述】:
我有两个 asp.net 数据表,每个都有一个 UserID 字段。我需要从 table1 返回 table2 中的计数。示例:
表 1: 用户身份 123, 456, 789
表2: 用户身份 789, 456
结果应该是 2(789 和 456)。
Table1 和 Table2 可能有数千条记录。我正在寻找最有效的方法来返回结果,asp.net,vb.net。我看过 Linq 但从未使用过它,不确定这是否有帮助...
How to detect that a datatable is a part of another datatable
这几乎可行。它给了我 123。有谁知道我如何获得 456 和 789?
Dim dt3 As DataTable = dt_users.[Select]().Where(Function(x)
Not dt.[Select](String.Format("UserID = '{0}'", x("UserID"))).Any()).CopyToDataTable()
'get returned UserID
For Each row As DataRow In dt3.Rows
Dim user As String = row("UserID")
Next
【问题讨论】:
-
@Jeremy 我正在寻找过滤解决方案。建立关系对我没有帮助。
-
来自文档“创建 DataRelation 后,您可以使用它在表之间导航并检索值。”创建 DataRelation 对象不仅可以定义关系,还可以从另一个表中选择相关记录。
-
msdn.microsoft.com/en-us/library/… 是我所说的更完整的例子。要么,要么使用数据视图,并循环过滤每个值,从而获得计数。
标签: asp.net vb.net linq datatable