【发布时间】:2015-10-29 02:15:16
【问题描述】:
所以我有 2 个不同的列表,比如服务和组。组包含服务。我正在尝试找出它们之间的 linq 连接。我有一个允许用户选择一项或多项服务的界面,我需要一个查询来选择其中包含所有选定服务的所有组,或其中至少包含一项选定服务的所有组.和/或段是通过无线电选择的。
var servFilter = from cs in lstServices.CheckedItems.Cast<ListViewItem>()
join ts in TotalServices on cs.Tag equals ts.IDserv
join fg in groupSet on ts.IDpack equals fg.IDPack
select fg;
这就是我目前所拥有的,并且似乎正在处理它的“或”方面,我只是无法理解我将如何“和”这个。
为清楚起见: 假设我有 Group1 和 2,以及 Service1,2 和 3。Group1 有服务 1 和 3。Group2 有服务 1 和 2。如果您选择了服务 1 和 2,那么现在的代码方式是您将获得两个组(或者,两个组都包含服务 1,不一定包含服务 2)。我正在寻找一个只会给我组 2 的查询,因为它是唯一同时包含服务 1 和服务 2 的组
【问题讨论】:
-
您的代码中的“组”在哪里?
-
@DLeh packFilter,为清楚起见,仅对 groupSet 进行了编辑
-
您需要两个查询。全部和至少一个不能合并。
-
@jdweng 是的,我明白了,我只是想不通如何将“和”查询放在一起。加入只会给我或,那么我将如何加入以获得“和”?
-
你的意思是
Concat()还是Union()将它们放到一个列表中?