Подтвердить что ты не робот

Почему и когда использовать LINQ?

Я никогда не использовал LINQ в любом из моих проектов, я всегда использовал инструмент ado.net/OR в своих проектах Business App, поэтому я хочу знать Каковы преимущества LINQ? почему и когда кто-то должен использовать LINQ?

4b9b3361

Ответ 1

Только для пояснения существуют различия между концепцией LINQ и LINQ to SQL.

LINQ - это синтаксис запроса, а не язык или O/RM. Вы можете создать O/RM поверх синтаксиса, предоставляемого LINQ.

Поскольку я понимаю, что ваш вопрос действительно Когда использовать LINQ to SQL, я просто обращусь к этому.

LINQ to SQL лучше всего использовать, когда вы:

  • Только таргетинг на MS SQL 2000 +
  • Выполнение RAD

Я использовал LINQ to SQL на нескольких коммерческих продуктах и ​​довольно многих моих собственных продуктах и ​​нашел эти преимущества:

  • Знакомый язык для кода в (С#/VB.NET)
  • Легче поддерживать (у нас больше .NET, чем гуру SQL на персонале)
  • Сгенерированный SQL хорошо структурирован и очень оптимален
  • Позволяет прямое преобразование бизнес-правил в SQL, сохраняя при этом всю бизнес-логику в одном проекте.

Что касается LINQ как концепции, я использую его все время, потому что я понимаю, что он может/не может сделать и как правильно его использовать. Как и любая особенность языка, его можно легко пропустить, если люди не понимают, что это такое и как его использовать. Я рекомендую следующие блоги, чтобы получить некоторые из концепций LINQ:

Ответ 3

LINQ - это какой-то универсальный язык запросов. Если вы это узнаете, вам не нужно ограничивать себя базой данных, но вы также можете использовать ее для управления файлами XML или файлами или массивами JSON, списками < > и dictionairies <, > . Это здорово.

Есть даже LinqToFlickr, LinqToExcel и LinqToGoogle. Это намного больше, чем OR. См.: http://blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-linq-providers.aspx

Ответ 4

LINQ-to-SQL функционирует хорошо, как легкая ORM через дизайнер DMBL. Он имеет встроенную поддержку языка и упрощает доступ к вашим объектам с использованием стандартных шаблонов доступа. Я использую его во всех своих новых проектах и ​​считаю, что это значительное улучшение для меня в простоте и тестируемости. В этом сообщении есть намного больше информации.