c# - 查找数据集中相同 ID 是否存在两个值
问题描述
我有一个数据表结果集,它有两列我需要关注 ActionCode 和 ProcessID
我试图找到最快的方法来查看是否同时存在 AcitonCodes A 和 E,两者都用于相同的 ProcessID。
我正在寻找如何在数据表中搜索值的所有这些示例,但无法弄清楚如何将其限制为相同的 ID。请帮忙。
这现在有效,它返回所有 A 和 E 行,但我似乎无法找到仅当 A 和 E 都属于同一个 ProcessID 时返回结果的方法。
DataRow[] foundAuthors = dt.Select("ActionCode = '" + 'A' + "' or ActionCode = '" + 'E' + "'" );
和
var x = from e in dt.AsEnumerable()
where e.Field<int>("ActionCode") == 'A' &&
e.Field<int>("SeriesID") == seriesid
select e;
最后一个问题。LINQ 是解决这个问题的最佳方式吗?我应该使用“更新”和更喜欢的命名空间吗?谢谢!
解决方案
这应该可以为您提供所需的内容(以下是完整的 DotNetFiddle 示例):
string[] myList = new string[]{"A", "E"};
var results = authors.Where(x => myList.Contains(x.ActionCode))
.GroupBy(x => x.ProcessId, x => x.ActionCode)
.Where(d => myList.All(dv => d.Contains(dv)))
.Select(x => new { ProcessId = x.Key, ActionCode = x.ToList()} ).ToList();
推荐阅读
- ionic-framework - Ionic build android 找不到 Android AVD
- powershell - 使用自定义对象对 PowerShell OrderedDictionary 进行排序
- c# - 将访问数据插入 .CSV 并随时间插入数据
- swift - SwiftUI - 按钮 - 如何将函数(带参数)请求从子级传递给父级
- javascript - React 不响应调度的更改事件
- zap - 如何通过重定向到已验证部分来验证 SPA
- typescript - 是否可以在 Typescript 中创建可组合的实用程序类型?
- python - 如何使用 pandas 为数据框创建函数
- java - 获得 2 字节 [] 数组之间数值差异的更快方法?
- php - 有没有办法在sql中显示所有具有匹配字段的数据?