簡體   English   中英

相當於SELECT DISTINCT的LINQ

[英]LINQ Equivalent of SELECT DISTINCT

我只想顯示一個使用LINQ的沒有重復的CourseNo列表,但是我不太清楚語法。

        this.Distinct_CourseNo = (from c in Roster_Sections
                                  select c).Distinct(CourseNo).ToList;

與SQL等效的方式如下:

SELECT DISTINCT CourseNo
FROM Roster_Sections

使用select c將包括Roster_Sections所有列,因此,如果一列中至少有一行與另一行不同,則Distinct()將不起作用。

this.Distinct_CourseNo = (from c in Roster_Sections
                          select c.CourseNo).Distinct().ToList();

要么

this.Distinct_CourseNo = Roster_Sections.Distinct(c => c.CourseNo).ToList();

僅當您具有moreLINQ時,所有提供的答案才適用。 但是,您可以嘗試以下方法:

this.Distinct_CourseNo = (from c in Roster_Sections
                          group c by c.CourseNo into g
                          select g.First()).ToList();

您將通過Distinct一個lambda來描述定義差異性的內容:

this.Distinct_CourseNo = Roster_Sections.Distinct(x => x.CourseNo).ToList();

如果您想要獲取唯一的課程號列表,而不是基於課程號的唯一課程列表,那么今草頓頓的答案就是解決之道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM