有没有办法改写:有没有办法在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