Mam taką listę:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
Próbuję zrobić SELECT UNIQUE z LINQ, tj. Chcę
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
Następnie zmieniłem to na
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
bez sukcesu. Pierwsza select
pobiera WSZYSTKIE kolory, więc jak mogę ją zmodyfikować, aby uzyskać tylko unikalne wartości?
Jeśli istnieje lepszy sposób na ustrukturyzowanie tego zapytania, z przyjemnością podążę tą drogą.
Jak mam go edytować, żeby móc .OrderBy( "column name" )
np. Alfabetycznie według nazwy koloru, więc nazwać właściwość?
Ciągle otrzymuję wiadomość:
Nie można wywnioskować argumentów typu na podstawie użycia. Spróbuj jawnie określić argumenty typu.
dbo.Color.Name
więc tylkoname=>name
podpowiedzi, to nie jest nazwa kolumny? Dziwne, to też się układa poprawnie, jeśli zmienię to na.OrderBy(a=>a)
źródło
Korzystając ze składni rozumienia zapytań, możesz uzyskać kolejność w następujący sposób:
źródło