J'écris une fonction qui tire des enregistrements d'une base de données en utilisant LINQ pour obtenir un IQueryable. Cette instruction LINQ extrait tous les enregistrements pour les utilisateurs actifs dans un certain laps de temps, puis crache l'ID utilisateur, le prénom et le nom de famille à un Telerik RadGrid.Retour d'un IQueryable distinct avec LINQ?
Mon problème réside dans essayer d'obtenir une valeur distincte sur l'ID utilisateur lors de l'extraction de ces données. J'ai essayé de retravailler ce code pour obtenir mon résultat. Voici un exemple du code qui tire toutes les données, avec le distinctif ne fonctionne pas.
public static IQueryable GetActiveEmployees_Grid(string Period)
{
DataContext Data = new DataContext();
var Employees = (from c in DataSystem_Records
where c.Period == Period
orderby c.DataSystem_Employees.LName
select c).Distinct();
return Employees;
}
Après avoir appliqué le DataSource à ma grille, cela renvoie l'utilisateur 4 fois, une instance pour chaque enregistrement pour cette période.
Y at-il un moyen d'appliquer Distinct à ma LINQ fonction pour faire fonctionner la façon dont je voulu?
Le GroupBy a fonctionné parfaitement!J'ai d'abord essayé le GroupBy lors du dépannage, mais j'avais manqué le .Select (x => x.FirstOrDefault()). Merci! – Lando
La commande par doit être dans le select après le groupe par avant le premierordefault. en supposant que vous vous souciez de l'heure de connexion. –