Linq查询用简单的英语
解释我有一个LINQ查询我不是100%肯定的,有人可以解释它用简单的英语发生了什么Linq查询用简单的英语
var duplicates = this.BedStays
.GroupBy(i => new { i.PatientClassificationCode, i.BedBandCode, i.BedLevelAddOnInd, i.ServiceCodeTypeCode, i.ServiceCode, i.DayRate })
.Where(g => g.Count() > 1)
.Select(g => g.Key).ToList();
有人可以用简单的英语解释什么正在发生
查询主要是通过在PatientClassificationCode, BedBandCode, BedLevelAddOnInd, ServiceCodeTypeCode, ServiceCode, DayRate
字段上进行分组来列出BedStays
集合中的所有重复项。
感谢大家,这就是我的想法,但从来没有见过一个LINQ查询构建这样 – user2127
通常这是一个寻找重复的,类似于SQL :-) –
var duplicates = this.BedStays
...将此属性名为“BedStays”的属性分配给一个名为“duplicates”的变量。
.GroupBy(
...由一组具体特性分组...
i =>
称为单BedStay“我”(可能反而把它称为“aBedStay”或“bedStay”,但笔者去与“我”)......
new { i.PatientClassificationCode, i.BedBandCode, i.BedLevelAddOnInd, i.ServiceCodeTypeCode, i.ServiceCode, i.DayRate })
...创建一个新的对象由第一构件进行排序(第一,然后通过第二,等等等等)...
.Where(g => g.Count() > 1)
...只有采摘bedStay分组,其中至少还有一个匹配成员(我相信这是不必要的,因为所有的分组,根据定义,将只存在,如果从至少一个分组的定义)...
.Select(g => g.Key).ToList();
......最后我们只关心关键字,这是我们在新建{i.Property,i.Property,i.Property}对象时定义的分组。我们把它列入清单。
多个匹配的成员方法.. > 1 –
它会给你具有相同
- PatientClassificationCode所有重复行
- BedBandCode
- BedLevelAddOnInd
- ServiceCodeTypeCode
- ServiceCode
- DayRate
它通过将具有相同条件的行分组在一起,然后仅显示具有多行(即重复)的组来完成此操作。
感谢您对编辑 – user2127