Veuillez considérer ce tableau: Je souhaite sélectionner des enregistrements qui ne disposent que d'un enregistrement en une année. Ceci est mon désir résultat: p> Comment puis-je faire cela avec linq code>. Merci p> p>
3 Réponses :
En supposant que vos données sont stockées dans lignes code>:
Merci mais je ne veux pas vérifier toutes les valeurs de colonnes
Cela ne vérifie pas toutes les colonnes, juste le nom et l'année, ce qui équivaut au groupement utilisé dans d'autres réponses suggérées.
Vous auriez besoin de faire un groupement avec une clause "ayant". Le code ci-dessous devrait vous aider ou vous pointer dans la bonne direction.
var data = new List<Data>();
//Method syntax:
var row = data.GroupBy(k => new { k.Year, k.Name}, v => v)
.Where(grp => grp.Count() == 1)
.SelectMany(o => o)
.ToList();
//Query syntax:
var row2 = (from d in data
group d by new {d.Year, Name = d.Name}
into g
where g.Count() == 1
select g)
.SelectMany(o => o)
.ToList();
Merci pouvez-vous me montrer linq code> version. meilleures salutations
Cela ne donne pas le résultat indiqué. Le groupement devrait être par nom et chaque année
Je pense que vous devriez groupby code> avec nom code> et année code> .is it true?
Faire un groupe d'enregistrements avec la même combinaison [Nom, l'année] et jeter tous les groupes qui ont plus d'un élément: i utilise La sélection finale sélectionne l'enregistrement unique et unique dans le groupe P> P> sauter (1). () code> au lieu de comptez () == 1 code>, car il est plus efficace: pourquoi compter tous les 1000 enregistrements, si vous pouvez arrêter de compter après le premier enregistrement? P>