Linq选择一个事件

本文关键字:一个 事件 选择 Linq | 更新日期: 2023-09-27 18:14:00

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

ID | STATUS

1 | CHECKIN

2 | CHECKOUT

2 | CHECKOUT

1 | CHECKIN

3 | CHECKOUT <——

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

你能帮我用linq吗?

Linq选择一个事件

你需要创建一个组,并且只要求组项= 1

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

另一个答案仍然会检索所有重复的项,只是删除它们的重复项。如果您希望检索非重复项,如您在原始问题中所述,这将为您工作:

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