Supprimer les Doublons de colonne en fonction de la valeur de linq
j'ai beaucoup de beaucoup de relation entre l'employé et de groupe. suivant linq déclaration
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 };
retourne groupid et l'employé. et le résultat est
GrpId | EmployeeID
6 | 18
6 | 20
7 | 19
7 | 20
J'ai besoin de supprimer les lignes pour lesquelles l'employé est en répétant par exemple, un de la ligne avec employeeid= 20
Grâce
Ce que ferait-elle de supprimer la dernière ligne plutôt que celui avec GrpId=6?
ok, j'ai besoin de résultat avec des Employeeids tout le monde peut être retiré
ok, j'ai besoin de résultat avec des Employeeids tout le monde peut être retiré
OriginalL'auteur Tassadaque | 2010-08-10
Vous devez vous connecter pour publier un commentaire.
Ok, si vous n'avez pas de soins de laquelle l'employé est supprimé, vous pouvez essayer quelque chose comme:
Vous n'avez pas spécifié si c'est dans LINQ to SQL, LINQ to Objects ou quelque chose d'autre... je ne sais pas ce que le SQL de la traduction de ce serait. Si vous faites affaire avec une quantité relativement faible de données, vous pouvez toujours la force de ce dernier à être en cours de processus:
À ce point, vous pouvez utiliser MoreLINQ qui a une pratique
DistinctBy
méthode:Vous auriez à donner plus de détails sur ce que vous voulez, mais vous pouvez éventuellement utiliser
Except
ouWhere
.C'est une bonne extension!
OriginalL'auteur Jon Skeet