code

LINQ에서 SELECT UNIQUE를 수행하려면 어떻게해야합니까?

codestyles 2020. 8. 30. 08:38
반응형

LINQ에서 SELECT UNIQUE를 수행하려면 어떻게해야합니까?


다음과 같은 목록이 있습니다.

Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange

LINQ로 SELECT UNIQUE를 수행하려고합니다. 즉,

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") 즉, 알파벳순으로 색상 이름, 그래서 이름 속성을 가질 수 있도록 편집하는 방법은 무엇입니까?

계속 메시지를받습니다.

형식 인수는 사용법에서 유추 할 수 없습니다. 형식 인수를 명시 적으로 지정해보십시오.


Distinct ()는 순서를 엉망으로 만들 것이므로 그 후에 정렬해야합니다.

var uniqueColors = 
               (from dbo in database.MainTable 
                 where dbo.Property == true 
                 select dbo.Color.Name).Distinct().OrderBy(name=>name);

var uniqueColors = (from dbo in database.MainTable 
                    where dbo.Property == true
                    select dbo.Color.Name).Distinct();

쿼리 이해 구문을 사용하면 다음과 같이 orderby를 얻을 수 있습니다.

var uniqueColors = (from dbo in database.MainTable
                    where dbo.Property
                    orderby dbo.Color.Name ascending
                    select dbo.Color.Name).Distinct();

참고URL : https://stackoverflow.com/questions/3519165/how-can-i-do-select-unique-with-linq

반응형