Хорошо, чем больше я использую LINQ, тем больше мне это нравится! Недавно я обнаружил, что работаю над некоторым устаревшим кодом. Это ваше классическое приложение DataSet и DataTable. Ну, добавив немного функциональности, я обнаружил, что действительно хочу просто запросить строки DataTable для результатов, которые я искал.
Позвольте мне повторить, что... вместо того, чтобы зацикливаться и добавлять в коллекцию temp, я просто хотел спросить коллекцию Rows, что мне нужно. Нет циклов, никаких временных переменных, просто дайте мне то, что я хочу.
var customerOrderIds = table.Rows.Cast<DataRow>()
.Where(x => (string)x["CUSTOMER_ID"] == customerId)
.Select(x => (string)x["CUSTOMER_ORDER_ID"])
.Distinct();
Мой вопрос в том, хорошо ли это или нет, или увлекаюсь LINQ? Мне кажется, что этот декларативный стиль вытаскивания подмножества данных из коллекции хорошая вещь и более читаемая в конце. Но опять же, может быть, меня просто поразило:)