Ich habe eine Liste wie folgt aus:Wie kann ich mit LINQ SELECT UNIQUE?
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
ich eine SELECT UNIQUE mit LINQ zu tun versuche, also ich will
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
ich diese dann zu
geändertvar uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
mit Kein Erfolg. Die erste select
erhält ALLE Farben, also wie ändere ich es, um nur die eindeutigen Werte zu erhalten?
Wenn es eine bessere Möglichkeit zum Strukturieren dieser Abfrage gibt, mehr als glücklich, diese Route zu gehen.
Wie gehe ich über die Bearbeitung, damit ich .OrderBy ("Spaltenname") haben kann, d.h. alphabetisch nach Farbnamen, also Name Eigenschaft?
Ich erhalte eine Nachricht:
Die Art Argumente können nicht von der Nutzung zu entnehmen. Versuchen Sie, die Typargumente explizit anzugeben.
Danke, das ist die richtige Antwort. Kann jemand bitte erklären, was in den .OrderBy() Parametern passiert. Sie haben name => name. Kommt dieser Name vom Spaltennamen in der DB? Weil wir 'dbo.Color.Name' dann nur' name => name' haben, was für mich bedeutet, dass es nicht der Spaltenname ist? Bizarr es sortiert auch richtig, wenn ich das nur zu '.OrderBy (a => a)' – baron
ändern Der Name der Variablen ist irrelevant. Es ist nur {Objekt in Funktion übergeben} => {Objekt zum Sortieren}. Da wir die Auswahl bereits vorgenommen haben, werden nur die Namen in der Sammlung sortiert. –
Danke @JamesCurran, deine Lösung hat mir sehr geholfen. – Ron