2012-05-24 73 views
0

我需要從使用LINQ的表中獲取不同的行值。我使用的查詢是在LINQ中獲取不同的行

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

它給予名爲「dbo_statetable」的表的所有行,但我只需要不同的狀態名。什麼應該是實現這個查詢?

其SQL等價物是select distinct statename from dbo_statetable

+0

你想選擇什麼柱?這給你所有不同的行對象 – cordialgerm

+0

@pickles:它看起來像他正在試圖做的SQL''從dbo_statetable'選擇不同的狀態名的等價物,除了在LINQ中。所以他試圖選擇的列名是'statename'。 –

+0

@MarkByers。是的,你是正確的,我認爲「從州名」是指列,現在得到它。 – gout

回答

1

您需要指定屬性:

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

from後的變量不指定列。它就像SQL中的表別名。你的LINQ語句大致相當於這個SQL:

SELECT DISTINCT * FROM dbo_statetable AS statename 
0

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