У меня есть такой список:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
Я пытаюсь выполнить SELECT UNIQUE с LINQ, т.е. я хочу
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
Затем я изменил это на
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
безуспешно. Первый select
получает ВСЕ цвета, так как мне изменить его, чтобы получить только уникальные значения?
Если есть лучший способ структурировать этот запрос, мы будем счастливы пойти по этому пути.
Как мне отредактировать его, чтобы я мог иметь, .OrderBy( "column name" )
например, в алфавитном порядке по названию цвета, то есть свойство name?
Я получаю сообщение:
Аргументы типа не могут быть выведены из использования. Попробуйте явно указать аргументы типа.
dbo.Color.Name
тогда у нас есть толькоname=>name
какие подсказки мне это не имя столбца? Странно, это тоже правильно, если я просто поменяю это на.OrderBy(a=>a)
источник
Используя синтаксис понимания запроса, вы можете добиться следующего порядка:
источник