我需要从使用LINQ的表中获取不同的行值。我使用的查询是在LINQ中获取不同的行
var results = (from statename in dsobject.dbo_statetable select statename).Distinct();
它给予名为“dbo_statetable”的表的所有行,但我只需要不同的状态名。什么应该是实现这个查询?
其SQL等价物是select distinct statename from dbo_statetable
我需要从使用LINQ的表中获取不同的行值。我使用的查询是在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();
// ^^^^^^^^^^
from
后的变量不指定列。它就像SQL中的表别名。你的LINQ语句大致相当于这个SQL:
SELECT DISTINCT * FROM dbo_statetable AS statename
dsobject.dbo_statetable.Select(s => s.statename).Distinct()
你想选择什么柱?这给你所有不同的行对象 – cordialgerm
@pickles:它看起来像他正在试图做的SQL''从dbo_statetable'选择不同的状态名的等价物,除了在LINQ中。所以他试图选择的列名是'statename'。 –
@MarkByers。是的,你是正确的,我认为“从州名”是指列,现在得到它。 – gout