从数据库中选择不同的类别

Raj*_*ena 1 c# linq

我正在设计应用程序的后端,我想从数据库中获取不同的类别.我使用以下查询:

var categories = from source in vm.Sources select source.Source_Category.ToList().Distinct();
Run Code Online (Sandbox Code Playgroud)

我的模型有四个字段,分别是(Source_Name,Source_Link,Source_Subscribed,Source_Category)

该模型共包含4个条目,其中两个属于"新闻"类别,另外两个属于"科学".但是使用上面的查询我得到所有四个条目,理想情况下它应该只返回两个项目.我哪里出错了?

cuo*_*gle 6

你缺少括号,它应该是:

var categories = (from source in vm.Sources select source.Source_Category)
                 .Distinct();
Run Code Online (Sandbox Code Playgroud)

为了更具可读性,我更喜欢使用lambda:

var categories = vm.Sources.Select(s => s.Source_Category)               
                           .Distinct();
Run Code Online (Sandbox Code Playgroud)