LINQ查询以获取与ID数组的所有项目匹配的项目

弗雷德·约翰逊

我有一个外部传递的ID数组,传递给我的方法。

任务:

  • 表A包含一个组ID和一个子ID
  • 表A中每行有一个子ID
  • 表A中每行有一个组ID
  • 通常会有多行具有匹配的组ID但不同的子ID
  • 我想获取组条目,当组合在一起时,这些条目具有外部传递的ID数组中的所有子ID。

到目前为止我的查询:

var externallyPassedArrayOfIds = [1, 2, 3]; 

var members = db.TableA
            .Where(u => externallyPassedArrayOfIds.Contains(u.SubId))
            .GroupBy(u => u.GroupId)
            .ToList();

数据库中可能存在的内容以及将被选中的内容的示例(仅为便于理解,按组ID排序):

ID | GroupId | SubId
---------------------
1    1         4
2    1         1
3    2         1
4    2         2
5    2         4
6    2         5
7    3         1
8    3         2
9    3         3
10   3         4
11   4         1
12   4         2
13   4         3

在此示例中,它将返回行7,8,9,11,12,13,因为只有组ID 3和4具有数组中的所有subId。如果这只是一个查询,那将是很好,但这不是必须的。

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

如果要包含所有内容的 项目externallyPassedArrayOfIds,请用于All检查组中的此条件,而不是单个项目:

var members = db.TableA
    .GroupBy(u => u.GroupId)
    .Where(g => externallyPassedArrayOfIds.All(id => g.Any(i => i.SubId == id)))
    .ToList();

Where条款适用于整个团体。它说,基团必须是这样的,对于每个元素idexternallyPassedArrayOfIds存在的至少一种元素i的组中的g具有i.SubId等于id

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取数组中的所有项目?

来自分类Dev

Linq-获取2个匹配元素之间的所有项目

来自分类Dev

Linq-获取2个匹配元素之间的所有项目

来自分类Dev

获取所有员工的所有逾期项目 - SQL 查询

来自分类Dev

PHP,MySQL-获取与数组中所有项目匹配的行

来自分类Dev

带有“åäö”的Linq查询返回表中的所有项目

来自分类Dev

Firebird如何选择与集合中所有项目匹配的ID

来自分类Dev

如何获取收到查询的所有项目的清单?

来自分类Dev

WIQL 查询以获取项目中的所有团队和用户?

来自分类Dev

如何使用NSPredicate CONTAINS IN数组获取所有项目

来自分类Dev

如何获取属于所有numpy数组的项目?

来自分类Dev

获取所有ListView项目?

来自分类Dev

获取所有项目组合

来自分类Dev

获取数据表中所有项目的ID

来自分类Dev

LINQ查询仅获取最新项目

来自分类Dev

递归LINQ查询:选择项目以及所有带有子子级的子级

来自分类Dev

尽管仅查询一项,但 find 查询仍返回数组中的所有项目

来自分类Dev

javascript-获取带有查询的项目,并将其与具有收藏项的用户匹配

来自分类Dev

Javascript过滤方法,删除数组中所有具有匹配值的项目

来自分类Dev

SQL 查询,它搜索具有数组列的特定项目的所有行

来自分类Dev

显示具有匹配ID的项目

来自分类Dev

MySQL:JOIN 查询获取具有可为空字段的所有项目

来自分类Dev

获取项目推入数组的ID在猫鼬

来自分类Dev

如何获取数组中项目的id

来自分类Dev

在JavaScript数组中搜索与字符串模式匹配的所有项目的计数

来自分类Dev

删除并返回数组中的所有项目

来自分类Dev

如何从给定项目更改数组中的所有项目?

来自分类Dev

从ListView Android获取所有选中的项目

来自分类Dev

获取类别及其子项的所有项目

Related 相关文章

  1. 1

    如何获取数组中的所有项目?

  2. 2

    Linq-获取2个匹配元素之间的所有项目

  3. 3

    Linq-获取2个匹配元素之间的所有项目

  4. 4

    获取所有员工的所有逾期项目 - SQL 查询

  5. 5

    PHP,MySQL-获取与数组中所有项目匹配的行

  6. 6

    带有“åäö”的Linq查询返回表中的所有项目

  7. 7

    Firebird如何选择与集合中所有项目匹配的ID

  8. 8

    如何获取收到查询的所有项目的清单?

  9. 9

    WIQL 查询以获取项目中的所有团队和用户?

  10. 10

    如何使用NSPredicate CONTAINS IN数组获取所有项目

  11. 11

    如何获取属于所有numpy数组的项目?

  12. 12

    获取所有ListView项目?

  13. 13

    获取所有项目组合

  14. 14

    获取数据表中所有项目的ID

  15. 15

    LINQ查询仅获取最新项目

  16. 16

    递归LINQ查询:选择项目以及所有带有子子级的子级

  17. 17

    尽管仅查询一项,但 find 查询仍返回数组中的所有项目

  18. 18

    javascript-获取带有查询的项目,并将其与具有收藏项的用户匹配

  19. 19

    Javascript过滤方法,删除数组中所有具有匹配值的项目

  20. 20

    SQL 查询,它搜索具有数组列的特定项目的所有行

  21. 21

    显示具有匹配ID的项目

  22. 22

    MySQL:JOIN 查询获取具有可为空字段的所有项目

  23. 23

    获取项目推入数组的ID在猫鼬

  24. 24

    如何获取数组中项目的id

  25. 25

    在JavaScript数组中搜索与字符串模式匹配的所有项目的计数

  26. 26

    删除并返回数组中的所有项目

  27. 27

    如何从给定项目更改数组中的所有项目?

  28. 28

    从ListView Android获取所有选中的项目

  29. 29

    获取类别及其子项的所有项目

热门标签

归档