C# Datatable-使用linq我想用计数更新一行
我有一个C#数据表,其中包含:C# Datatable-使用linq我想用计数更新一行,c#,linq,datatable,C#,Linq,Datatable,我有一个C#数据表,其中包含: Id ParentId Name ======== =========== ===== 1 A 2 1 b 3 1 c 4 2 d 6 5 e 我想添加一列或仅添加一个结果,用于标识没有Id的任何ParentIds。基本上在上表中,我想找到Id=6,因为Par
Id ParentId Name
======== =========== =====
1 A
2 1 b
3 1 c
4 2 d
6 5 e
我想添加一列或仅添加一个结果,用于标识没有Id
的任何ParentId
s。基本上在上表中,我想找到Id=6
,因为ParentId
5无效
我想确定parentId
未列为Id
rows.Where(r1 => !rows.Any(r2 => r1["ParentId"] == r2["Id"]))
我认为这可以通过Linq实现。这将返回所有行,其中
ParentId
不会作为Id
出现在任何行中
rows.Where(r1 => !rows.Any(r2 => r1["ParentId"] == r2["Id"]))
数据库中的列?在包含这些数据库值的数据结构中?现在还不清楚你想要完成什么,你还没有向我们展示你迄今为止所做的努力。对不起,这还不清楚。我更新了问题。我基本上想知道有无效ParentId的记录,鉴于您显示的数据,我们应该如何理解ParentId是无效的?什么决定ParentId是否有效?我希望查询返回
ID1
,因为它没有ParentId.Yes。我正在寻找它返回1和6。我知道如何在数据库中查询,但我不确定如何在不遍历datatabeth的情况下进行查询。这似乎是正确的,但它不起作用。我执行了以下var rows=dtOrgPlus.Select();var mistchrows=rows.Where(r1=>!rows.Any(r2=>r1[“父”]==r2[“Id”]);