有沒有辦法改寫:有沒有辦法在LINQ查詢語法中使用Distinct?
var tbl = ds.TABLES;
var q = from c in tbl
select c.TABLE_TYPE;
string s = "";
foreach (var item in q.Distinct())
{
s += "[" + item + "]";
}
MessageBox.Show(s);
這樣含混()調用是在LINQ查詢?
有沒有辦法改寫:有沒有辦法在LINQ查詢語法中使用Distinct?
var tbl = ds.TABLES;
var q = from c in tbl
select c.TABLE_TYPE;
string s = "";
foreach (var item in q.Distinct())
{
s += "[" + item + "]";
}
MessageBox.Show(s);
這樣含混()調用是在LINQ查詢?
在LINQ的Distinct
擴展方法不具有查詢語法等同。
請參閱http://blogs.msdn.com/b/charlie/archive/2006/11/19/linq-farm-group-and-distinct.aspx瞭解有關其原因的其他信息。
(from c in tbl select c.TABLE_TYPE).Distinct();
語言集成查詢語法中沒有Distinct()
方法語法。你可以做最接近的將是移動當前呼叫:
var q = (from c in tbl
select c.TABLE_TYPE).Distinct();
如果在選擇後放置了不同的分隔符,VB就具有此功能。
附加信息;上面的查詢將創建以下sql''在對sql使用時從tbl c'中選擇不同的c.TABLE_TYPE,所以不要擔心性能問題。 – edokan 2013-03-18 15:50:30