我需要從使用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