我需要使用 LINQ 从表中获取不同的行值。我使用的查询是
var results = (from statename in dsobject.dbo_statetable select statename).Distinct();
它给出了名为“dbo_statetable”的表的所有行,但我只需要不同的状态名。实现这一目标的查询应该是什么?
它的 sql 等价物是select distinct statename from dbo_statetable
您需要指定属性:
var results = (from x in dsobject.dbo_statetable select x.Statename).Distinct();
// ^^^^^^^^^^
after 变量from
没有指定列。它就像 SQL 中的表别名。您的 LINQ 语句大致相当于以下 SQL:
SELECT DISTINCT * FROM dbo_statetable AS statename
dsobject.dbo_statetable.Select(s => s.statename).Distinct()