等价于 SELECT DISTINCT 的 LINQ

cda*_*lto 1 c# sql linq

我只想使用 LINQ 显示一个没有重复项的 CourseNo 列表,但我无法弄清楚语法。

        this.Distinct_CourseNo = (from c in Roster_Sections
                                  select c).Distinct(CourseNo).ToList;
Run Code Online (Sandbox Code Playgroud)

SQL 等效项类似于:

SELECT DISTINCT CourseNo
FROM Roster_Sections
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 5

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

this.Distinct_CourseNo = (from c in Roster_Sections
                          select c.CourseNo).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)

或者

this.Distinct_CourseNo = Roster_Sections.Distinct(c => c.CourseNo).ToList();
Run Code Online (Sandbox Code Playgroud)


Kin*_*ing 5

仅当您有moreLINQ 时,所有提供的答案才适用。但是,您可以试试这个:

this.Distinct_CourseNo = (from c in Roster_Sections
                          group c by c.CourseNo into g
                          select g.First()).ToList();
Run Code Online (Sandbox Code Playgroud)