Почему разработчик Базы данных использовал бы LINQ

Вы могли также сделать

result = ([ a for a,b in original ], [ b for a,b in original ])

, Это должно масштаб лучше. Особенно, если Python выполняет не расширение пониманий списка, если не необходимый.

(Кстати, это делает с 2 кортежами (пара) списков, а не список кортежей, как zip делает.)

, Если бы генераторы вместо фактических списков в порядке, это сделало бы это:

result = (( a for a,b in original ), ( b for a,b in original ))

генераторы не жуют через список, пока Вы не просите каждый элемент, но с другой стороны, они действительно сохраняют ссылки на исходный список.

5
задан Hitz 31 July 2009 в 16:37
поделиться

7 ответов

LINQ имеет одно большое преимущество перед большинством других методов доступа к данным: он сосредоточен вокруг метафоры « выражение запроса », что означает, что запросы могут передаваться как объекты и изменяться и модифицироваться, все перед они выполняются (повторяются). На практике это означает, что код может быть модульным и лучше изолированным. Репозиторий доступа к данным вернет запрос «заказы», ​​затем промежуточный фильтр в конвейере обработки запросов украсит этот запрос фильтром, затем он будет передан модулю отображения, который добавляет сортировку и разбиение на страницы и т. Д. В конце, когда это повторяется, выражение полностью преобразовалось в очень специфический SELECT ... WHERE ... ORDER BY ... LIMIT ... (или другая внутренняя пагинация, например ROW_NUMBER). Для разработчиков приложений это бесценно, и жизнеспособной альтернативы просто нет. Вот почему я считаю, что LINQ останется здесь и не исчезнет через 2 года. Это определенно больше, чем просто прихоть. И я конкретно говорю о LINQ как о методе доступа к базе данных.

Одного преимущества манипулирования объектами выражения запроса достаточно, чтобы сделать LINQ выигрышным предложением. Добавьте к этому несколько типов контейнеров, которыми он может манипулировать (XML, массивы и коллекции, объекты, SQL), и единый интерфейс, который он предоставляет для всех этих разрозненных технологий, рассмотрите изменения параллельной обработки, которые появятся в .Net 4.0, которые я ' m наверняка будет прозрачно интегрирован в LINQ-обработку массивов и коллекций, и на самом деле LINQ никуда не исчезнет. Конечно, сегодня он иногда создает нечитаемый, плохо производительный и не поддающийся отладке SQL, и это кошмар для каждого администратора базы данных. Будет лучше.

5
ответ дан 13 December 2019 в 05:39
поделиться

Linq обеспечивает «первоклассный» доступ к вашим данным. Это означает, что ваши запросы теперь являются частью языка программирования.

Linq предоставляет общий способ доступа к объектам данных всех типов. Например, тот же синтаксис, который используется для доступа к вашим запросам к базе данных, также можно использовать для доступа к спискам, массивам и файлам XML.

Изучение Linq предоставит вам более глубокое понимание языка программирования. Linq был драйвером для всевозможных нововведений языка, таких как методы расширения, анонимные типы, лямбда-выражения, деревья выражений, вывод типов,

4
ответ дан 13 December 2019 в 05:39
поделиться

Думаю, лучший вопрос: зачем заменять SQL на LINQ при запросе к базе данных?

2
ответ дан 13 December 2019 в 05:39
поделиться

«Знай своего врага»?

OTOH, из интереса. Я больше узнаю о XMl, XSLT, XSD и т. Д., Потому что вижу их применение как разработчик баз данных.

1
ответ дан 13 December 2019 в 05:39
поделиться

Это настоящий вопрос? На него нельзя ответить фрагментом кода. Большинство вопросов такого типа быстро закрываются.

0
ответ дан 13 December 2019 в 05:39
поделиться

Я думаю, это одна из многих причин, по которым можно было бы рассмотреть возможность использования linq, потому что linq - это большое повышение производительности и огромная экономия времени

0
ответ дан 13 December 2019 в 05:39
поделиться

Этот вопрос также побуждает меня задать вопрос: если LINQ станет чрезвычайно популярным, будут ли разработчики на стороне сервера знать SQL так же хорошо, как их предшественники?

0
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: