다음과 같은 목록이 있습니다.
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();