0

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

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

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

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

4

2 回答 2

1

您需要指定属性:

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

after 变量from没有指定列。它就像 SQL 中的表别名。您的 LINQ 语句大致相当于以下 SQL:

SELECT DISTINCT * FROM dbo_statetable AS statename
于 2012-05-24T05:28:31.990 回答
0

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

于 2012-05-24T05:33:04.880 回答