Ответ 1
Метод расширения Distinct
в LINQ не имеет эквивалента синтаксиса запроса.
См. http://blogs.msdn.com/b/charlie/archive/2006/11/19/linq-farm-group-and-distinct.aspx для получения дополнительной информации о том, почему.
Есть ли способ переписать:
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);
Итак, что вызов Distinct() находится в запросе LINQ?
Метод расширения Distinct
в LINQ не имеет эквивалента синтаксиса запроса.
См. http://blogs.msdn.com/b/charlie/archive/2006/11/19/linq-farm-group-and-distinct.aspx для получения дополнительной информации о том, почему.
Синтаксис метода Distinct()
отсутствует в синтаксисе интегрированного запроса языка. Самое близкое, что вы могли бы сделать, это переместить текущий вызов:
var q = (from c in tbl
select c.TABLE_TYPE).Distinct();
(from c in tbl select c.TABLE_TYPE).Distinct();
У VB есть эта функция, если вы поместите выделение после выбора.