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

时间:2013-08-10 16:32:43

标签: c# linq

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

var categories = from source in vm.Sources select source.Source_Category.ToList().Distinct();

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

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

1 个答案:

答案 0 :(得分:6)

你缺少括号,应该是:

var categories = (from source in vm.Sources select source.Source_Category)
                 .Distinct();

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

var categories = vm.Sources.Select(s => s.Source_Category)               
                           .Distinct();