2010-07-06 6 views
2

Je n'arrive pas à comprendre comment je peux sélectionner seulement des entrées distinctes dans le modèle self-service Llblgen 2.6LLblgen: Sélectionnez distinct?

Je veux essentiellement cette requête.

select distinct City 
from peopleTable 
where *predicates* 

J'ai mon PeopleCollection et je ne sais pas s'il y a une méthode distincte, je peux appeler ou argument que je peux passer à getMulti().

Répondre

2

Les entités par définition ne peuvent pas être distinctes - même si elles ont la même valeur, ce sont des lignes différentes dans la même table.

Vous pouvez utiliser une TypedList ou une DynamicList pour obtenir une liste distincte des villes - l'un des paramètres de l'appel de Fetch est d'obtenir des éléments distincts.

Ou si vous utilisez LINQ que vous pourriez faire

List<string> cities = PeopleCollection.Select(x=>x.City).Distinct(); 
0

Ajout d'une réponse diff't complimenter Matt, depuis que je suis arrivé ici, mais ne pouvait pas trouver une réponse simple de la façon de le faire partout et vous ne pouvez pas formater le code dans un commentaire

ResultsetFields fields = new ResultsetFields(1); 
fields.DefineField(PeopleFields.City, 0); 

DataTable dynamicList = new DataTable(); 
adapter.FetchTypedList(fields, dynamicList, null, false); 

foreach (DataRow row in dynamicList.Rows) 
    Cities.Add(row[0] as string); 

Cela donne une liste distincte de toutes les villes, le filtrage se fait avec un IRelationPredicateBucket au lieu de null à FetchTypedList.

Questions connexes