Tas*_*que 10 c# linq-to-sql asp.net-mvc-2
我在员工和团队之间有很多很多关系.遵循linq声明
int[] GroupIDs = {6,7};
var result = from g in umGroups
join empGroup in umEmployeeGroups on g.GroupID equals empGroup.GroupID
where GroupIDs.Contains(g.GroupID)
select new { GrpId = g.GroupID,EmployeeID = empGroup.EmployeeID };
Run Code Online (Sandbox Code Playgroud)
返回groupid和employeeid.结果是
GrpId | EmployeeID
6 | 18
6 | 20
7 | 19
7 | 20
Run Code Online (Sandbox Code Playgroud)
我需要删除employeeid重复的行,例如employeeid = 20中的任何一行
谢谢
Jon*_*eet 32
好的,如果您不关心删除哪个员工,您可以尝试以下方法:
var result = query.GroupBy(x => x.EmployeeId)
.Select(group => group.First());
Run Code Online (Sandbox Code Playgroud)
你还没有指定它是在LINQ to SQL,LINQ to Objects还是其他东西......我不知道它的SQL翻译是什么.如果您正在处理相对少量的数据,您可以始终强制最后一位处于进程中:
var result = query.AsEnumerable()
.GroupBy(x => x.EmployeeId)
.Select(group => group.First());
Run Code Online (Sandbox Code Playgroud)
那时你可以使用MoreLINQ,它有一个方便的DistinctBy
方法:
var result = query.AsEnumerable()
.DistinctBy(x => x.EmployeeId);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14115 次 |
最近记录: |