Question

J'ai une table où un disque ressemble à ceci

varchar(255) Name  
varchar(255) Text  
varchar(255) Value 

Le nom est le nom DDL, le texte est ce qui est affiché et la valeur est renvoyée lors de la sélection. Il y a entre une et vingt options pour chaque nom. Sans itérer si chaque option comme un curseur, est-il un moyen de sortir une liste d'objets, un pour chaque nom unique est DDL, en utilisant LINQ et C #?

Un échantillon de données:

Beds   '4 (10)'  4
Beds   '5 (1)'   5
Beds   '7 (1)'   7
Baths  'NA (13)' NULL
Baths  '0 (1)'   0
Baths  '1 (13)'  1

Je pensais à faire une sélection externe pour obtenir les noms uniques, puis une sélectionnez intérieure pour obtenir la liste des options pour, puis retourner l'ensemble comme une liste d'un ensemble de listes.

Était-ce utile?

La solution

Bien sûr, il suffit d'utiliser group ... by

var query = from item in context.TableName
            group item by item.Name;

Sinon, sans une expression de requête:

var query = context.TableName.GroupBy(item => item.Name);

Le résultat sera un IQueryable<IGrouping<string, ItemType>>. Chaque élément du résultat sera un groupant :. Une clé et une séquence d'éléments avec cette touche

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top