C# 在LINQ中获取不同的行

C# 在LINQ中获取不同的行,c#,linq,C#,Linq,我需要使用LINQ从表中获取不同的行值。我使用的查询是 var results = (from statename in dsobject.dbo_statetable select statename).Distinct(); 它给出了名为“dbo_statetable”的表的所有行,但我只需要不同的statename。要实现这一点,查询应该是什么 它的sql等价物是从dbo_statetable中选择不同的statename您需要指定属性: var results = (from x i

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

 var results = (from statename in dsobject.dbo_statetable select statename).Distinct();
它给出了名为“dbo_statetable”的表的所有行,但我只需要不同的statename。要实现这一点,查询应该是什么


它的sql等价物是
从dbo_statetable中选择不同的statename

您需要指定属性:

var results = (from x in dsobject.dbo_statetable select x.Statename).Distinct();
//                                                       ^^^^^^^^^^
from之后的变量未指定列。它类似于SQL中的表别名。您的LINQ语句大致相当于以下SQL:

SELECT DISTINCT * FROM dbo_statetable AS statename

dsobject.dbo\u statetable.Select(s=>s.statename).Distinct()

您要选择哪一列?这是给你所有不同的行objects@pickles:看起来他正在尝试执行与SQL
从dbo_statetable中选择不同的statename
等效的操作,但在LINQ中除外。因此,他试图选择的列名是
statename
@MarkByers。是的,你是对的,我认为“来自州名”指的是专栏,现在明白了。