我需要从数据库中提取记录,让我们假设这个结构
ID,名称,类型,密钥,EXPDATE,IsActive
现在进行了一些重组,表格可能会根据ID和类型保存重复记录。我希望能够使用linq从数据库中提取记录,但只有一个具有相同ID /类型的记录。
EX:
1,Fred,1,NewGuid,12/15 / 201,1
1,Fred,1,NewGuid,10/01 / 2017,1
2,Goerge,2,NewGuid,02/01 / 201,1
我希望结果集为Fred和One for Goerge的1条记录。实际上哪一个Fred记录只返回只有一个记录并不重要。
我尝试过使用DISTINCT,但是返回IDistinct而不是整个记录。有没有办法用linq做到这一点?
这是我尝试过的:
_table.AllReadOnly().Where(i => i.ID == id && i.IsActive).GroupBy(i => i.ID, i.Type).Select(i => i.FirstOrDefault()).ToList();
_table.AllReadOnly().Where(i => i.ID == id && i.IsActive).Distinct().ToList();
我知道.Distinct()之类的东西不会做任何事情。我试图找出如何做EqualityComparer,但我不确定这是否是我应该去的路线。
答案 0 :(得分:0)
您可以使用这两列的DELETE https://graph.microsoft.com/v1.0/groups/GROUP_ID/rejectedSenders/$ref?$id=https://graph.microsoft.com/v1.0/users/USER_ID
,然后从每个组中选择第一个元素。例如:
GroupBy
结果将是一个包含输入列表的第一个和第三个元素的列表。