Linq选择一个事件

时间:2015-09-21 18:06:29

标签: c# .net vb.net linq visual-studio-2012

如何使用链接获取不包含重复项的一对一关系?例如:

ID |的状态

1 | CHECKIN

2 | CHECKOUT

2 | CHECKOUT

1 | CHECKIN

3 |结账< -

我应该只检索 ID 3 CHECKOUT ,因为他没有重复。

你能帮我使用linq吗?

2 个答案:

答案 0 :(得分:2)

您需要创建一个组并仅要求组项目= 1

Dim nonDuplicates = (From x In query Group By x.Id, x.Status Into grp = Group 
                     Where grp.Count = 1)

答案 1 :(得分:0)

另一个答案仍将检索所有重复的项目,只删除它们的重复项。如果您只想 检索非重复项目,正如您在原始问题中所述,这将对您有用:

Item singles = items.Where(i => !items.Any(j => !i.Equals(j) && i.id == j.id));