J'ai une table et pour les besoins de l'exemple disons qu'elle a trois colonnes: Nom, DateAdded, Note. Dans cette table il y aura plusieurs enregistrements avec le même nom. J'ai besoin d'une clause linq where qui me donnera un ensemble de résultats avec l'enregistrement le plus récent pour chaque nom.Linq to Entities 3.5 où la date la plus récente
Donc, si j'avais les informations suivantes:
Name, DateAdded, Note
Alpha, 1/1/2010, note one
Alpha, 1/2/2010, note two
Alpha, 1/3/2010, note three
Beta, 1/4/2010, note four
Beta, 1/5/2010, note five
Je vous attendre à obtenir les résultats suivants:
Name, DateAdded, Note
Alpha, 1/3/2010, note three
Beta, 1/5/2010, note five
En utilisation réelle cela va être une option de recherche, donc je besoin être une clause .Where je peux ajouter à une collection IQueryable si possible.
Vous pouvez essayer quelque chose comme 'où g == grouping.OrderByDescending (x => x.DateAdded) .First()' à la place pour être sûr d'obtenir une seule ligne pour chaque groupe. –
Je ne sais pas pourquoi votre code n'a pas fonctionné pour moi mais j'ai été capable de le faire comme ceci: résultats = results.Where (i => i.DateAdded == context.rows.Where (o => o.row.name == i.row.name) .OrderByDescending (o => o.DateAdded) .FirstOrDefault(). DateAdded); Merci pour l'aide. – William