J'ai une liste comme celle-ci:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
J'essaye de faire un SELECT UNIQUE avec LINQ, c'est-à-dire que je veux
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
J'ai ensuite changé cela en
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
sans succès. Le premier select
obtient TOUTES les couleurs, alors comment puis-je le modifier pour obtenir uniquement les valeurs uniques?
S'il existe un meilleur moyen de structurer cette requête, plus qu'heureux d'emprunter cette voie.
Comment puis-je l'éditer pour pouvoir avoir .OrderBy ("nom de colonne") c'est-à-dire par ordre alphabétique par nom de couleur, donc propriété de nom?
Je continue de recevoir un message:
Les arguments de type ne peuvent pas être déduits de l'utilisation. Essayez de spécifier explicitement les arguments de type.
dbo.Color.Name
alors justename=>name
quels indices pour moi ce n'est pas le nom de la colonne? Bizarre, ça trie aussi correctement si je change ça en.OrderBy(a=>a)
la source
En utilisant la syntaxe de compréhension des requêtes, vous pouvez effectuer l'ordre comme suit:
la source