То, как я могу получить желаемые результаты, будет выглядеть примерно так:
tempTable.Rows.Cast<DataRow>()
.Select(dr => Convert.ToString(dr[0]))
.GroupBy(dr => dr)
.Select(g => new { Title = g.Key, Count = g.Count() });
Тем не менее, это фактически петля под капотом. На самом деле, я не могу придумать способ сделать такую группировку без проверки каждой записи.
Недостатком является то, что результатом этого выражения является последовательность экземпляров анонимного типа. Если вы по-прежнему хотите, чтобы результат представлял собой DataView, вы можете переписать последний вариант Select, чтобы создать новый DataRow с двумя столбцами, и поместить их в новый DataTable, который вы передаете в DataView.