Не прыгнули на подножку Linq, каковы ваши причины не использовать linq? - PullRequest
4 голосов
/ 11 ноября 2008

Я, кажется, в меньшинстве, но, честно говоря, я не чувствую себя комфортно с linq и не вижу никаких преимуществ в моем личном развитии (не говоря уже о том, что нет никаких преимуществ, просто личное мнение, основанное на моей ситуации) .

Я создаю веб-приложения (.net, .net mvc), и мне нравится иметь часть своего уровня данных в хранимых процедурах. Что мне нравится в sprocs, так это то, что я могу генерировать всю базу данных в сценарии, а затем сканировать свои запросы, читаемые запросы Я мог бы добавить на высоком уровне.

Для кого из вас, кто не любит linq, в чем ваша причина? Это просто нехватка знаний / кривая обучения или есть экономическое обоснование для того, чтобы не использовать их?

Ответы [ 14 ]

6 голосов
/ 11 ноября 2008

Я на самом деле делаю использую Linq, но не для запросов SQL. Я использую его как очень простой способ запроса таблиц данных, например, чтобы найти наибольшее значение в таблице данных. Ранее я бы использовал цикл for для этого кода, но Linq делает его более понятным и понятным для моих намерений.

Как только вы поймете, что Linq - это язык запросов .NET общего назначения, его мощь и полезность станут намного понятнее.

4 голосов
/ 11 ноября 2008

Так вы никогда не обрабатываете коллекции в своем коде C #? Нахождение максимального значения в коллекции, или фильтрация, или группировка и т. Д.? Я знаю, что делаю это довольно часто. LINQ позволяет мне делать это очень читабельно, декларативно (более читабельно, чем SQL, IMO - порядок запроса более логичен).

Аналогично, запрос XML с LINQ to XML, наборов данных с LINQ to DataSet и т. Д. Да, и не забывайте распараллеливание с PLINQ.

Есть много причин любить LINQ:)

2 голосов
/ 11 ноября 2008

Недавно было полезное обсуждение здесь о том, использовать ли LINQ или хранимые процедуры, что включает в себя преимущества и недостатки каждого подхода.

И некоторые люди беспокоятся о будущем LINQ to SQL.

Является ли LINQ to SQL DOA?

Действительно ли Microsoft убила LINQ to SQL?

1 голос
/ 11 ноября 2008

Мы еще не смогли использовать Linq, потому что мы все еще на 2.0, и нам не разрешили перейти на более новую версию.

1 голос
/ 11 ноября 2008

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

Вы можете использовать Linq с любыми коллекциями и использовать Sql как синтаксис. Это довольно аккуратно.

И да, вы можете выполнять хранимые процедуры, используя DLinq. Смотрите ссылку ниже

http://weblogs.asp.net/scottgu/archive/2007/08/23/linq-to-sql-part-7-updating-our-database-using-stored-procedures.aspx

-RVZ

1 голос
/ 11 ноября 2008

Я еще не беспокоился о LINQ, поскольку у меня не было никакой реальной необходимости.

За многие годы я научился «учиться по требованию» - новые технологии приходят и уходят так быстро, что вы можете тратить много времени на изучение последних тенденций, просто чтобы они исчезли в следующем году.

Не предполагая, что LINQ будет, как это, похоже, получило хорошее усвоение, но я не теряю сон из-за того, что кодирую вещи "по-старому", пока мой дизайн здоров.

1 голос
/ 11 ноября 2008

Я использую LINQ для запросов к массивам или общим спискам. Это очень легко читать и экономит мне много печатания для foreach -циклов, даже если я просматриваю несколько списков.

0 голосов
/ 30 октября 2010

Я бы предпочел использовать SQL для непосредственного запроса к базам данных (через хранимые процедуры), а затем использовать LINQ для дополнительной обработки данных, например, для группировки.

0 голосов
/ 11 ноября 2008

В настоящее время проблема заключается в нехватке знаний / обучении (нехватка времени).

0 голосов
/ 11 ноября 2008

В компании, в которой я работаю, есть одно экономическое обоснование отказа от использования Linq (для SQL):

Им нравятся хранимые процедуры, поскольку их можно изменить после развертывания без необходимости перекомпиляции, переустановки и т. Д.

Лично мне не очень нравится этот аргумент. Поскольку так много людей могут (и делают) вносить изменения в sps на сайтах клиентов, очень трудно обеспечить эффективную поддержку.

Linq - очень хорошая технология, которая делает множество задач в .net очень простым и эффективным (с точки зрения времени разработки). Кроме того, Linq to SQL предоставляет очень хороший механизм для вызова хранимых процедур.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...