Последние комментарии
Для меня эта страница - это удобный способ смотреть, что нового происходит в комментариях и сразу находить заметку, не заходя в админку. Думаю, она будет полезна и тебе.
Михаил Фленов
Последний раз говорю, используйте LINQ без проблем для чего угодно, но не для запросов к базам данных. То, что ты перечислил, это все работа с массивами данных (я надеюсь) не полученных из базы данных. Если данные можно обработать на стороне сервера нормальным SQL, то они должны обрабатываться на сервере нормальным SQL. Если для тебя перечисленное - это айсберг, то пусть будет айсбергом.
Я не против использования в перечисленных тобой случаях, потому что код действительно получится небольшим, а если не знаешь базовых алгоритмов, то еще и быстрее. Но даже зная алгоритмы, каждый раз изобретать колесо не нужно, когда есть LINQ и хочется его использовать.
Прежде чем писать подобные комментарии, прочитайте пожалуйста еще раз что я написал. Я не рекомендвал, не рекомендую и не планирую рекомендовать эту фигню для написания запросов к базе данных. Если же вы решитись на это, то это ваши личные проблемы, я никому ничего не запрещаю.
Bush
Я часто использую Linq в следующих ситуациях (имея на руках некий IEnumerable<T>):
1. Нужно выполнить некоторую несложную операцию над всеми элементами перечисления, после чего результат обработки отфильтровать по некоторому условию и на основе результата создать перечисление экземпляров совершенно иного типа (например члены анонимного класса). "Несложную операцию" как правило юзаем в виде лямбда-выражения.
Как правило, код получается небольшой, в одну-три строки, вполне удобочитаемый, поскольку я использую не синтаксис "аля SQL", который на мой взгляд уродлив, а точечную нотацию - такой код читается последовательно и весьма понятен.
2. Просто выполнить некоторые действия над всеми или некоторыми, выбранными по определённому условию элементами перечисления.
3. Преобразовать список в массив, либо массив в словарь, либо др. подобное действо.
4. Очень удобно выполнять группирование, объединение, пересечение, выборку уникальных записей.
5. Весьма полезны и "ленивые" вычисления (надеюсь не нужно пояснять, что это такое).
6. Про удобство работы с XML даже пояснять не буду - оно весьма очевидно.
А вообще, мне кажется, что тема обусловлена тем, что автор (не в обиду сказано) не разобрался как следует в технологии LINQ. Нельзя судить о всём айсберге, видя лишь его маленький кончик, торчащий из воды, и при этом неудачно кем-то где-то применённый (причём не факт, что применённый грамотно).
имхо
Bush
Я написал по указанной тобой ссылке.
Михаил Фленов
Если обрабатывать данные не базы данных, то используйте LINQ, если он нравится. Большинство программистов лучше чем то, что реализовано в LINQ все равно код не напишут.
Pushok
Это лишь при работе с SQL запросами. А обработка коллекций, перечислений, возможность парсинга лямбд и дальнейшего их использования в LINQ?
Денис
Насколько я по помню, в LINQ to Entities есть возможность самому писать SQL-запросы на выборку, а результатом будет не набор данных, а набор сущностей. Разве это не мощь? Если нет, то выбирай
ado.net данные, и строки преобразуй в сущности. Если предметка сложная, геморрой тебе обеспечен. А
с LINQ to SQL согласен - это масло масленное....
Михаил Фленов
Ну в линке я тоже ничего мощного не увидел. Он все равно генерит SQL для доступа к данным. Так почему бы не писать сразу на SQL и не использовать различных программных передастов типа linq. Ведь основная его задача просто интегрировать язык запросов прямо в .NET и заниматься передастизмом - передавать C# мысли программиста в SQL.
Pushok
Я имелл ввиду LINQ - мощная технология. EF можно и без LINQ использовать :)
Александр из NNov
Здравствуй, Михаил!
У тебя интересный блог - живой. Интересно когда была написана вот эта статья http://www.flenov.info/favorite.php?artid=35 и правдали что в Java в России не прижился?
Прости, что не в тему, но интересно как дела обстоят по твоему мнению. Приду комментарий проверю:)) Эт к тому, что жду ответа.

Rub
Мальчик научился писать запросы к массивам данных и считает что это круто, теперь наверно на всех блогах и форумах будет показывать, какой он умный. Обработка массивов запросом – это пятнышко на айсберге LINQ, а все ваши (не думаю, что вам больше 20 лет) примеры это обработка структурированных данных в памяти. Когда начнёте работать программистом, то поймёте, что большинству требуется работать с базами данных и очень много времени уходит на написание запросов к базе данных. Обработка массивов информации и примеры, что вы описали нужны очень редко или если вы не знаете SQL.