在LINQ中获取不同的行

时间:2012-05-24 05:26:47

标签: c# linq

我需要使用LINQ从表中获取不同的行值。我使用的查询是

 var results = (from statename in dsobject.dbo_statetable select statename).Distinct();

它给出了名为“dbo_statetable”的表的所有行,但我只需要不同的statename。要实现这一目标的查询应该是什么?

它的sql等价物是select distinct statename from dbo_statetable

2 个答案:

答案 0 :(得分:1)

您需要指定属性:

var results = (from x in dsobject.dbo_statetable select x.Statename).Distinct();
//                                                       ^^^^^^^^^^

from之后的变量未指定列。它就像SQL中的表别名。您的LINQ语句大致相当于此SQL:

SELECT DISTINCT * FROM dbo_statetable AS statename

答案 1 :(得分:0)

dsobject.dbo_statetable.Select(s => s.statename).Distinct()