Я никогда не использовал LINQ в любом из моих проектов, я всегда использовал инструмент ado.net/OR в своих проектах Business App, поэтому я хочу знать Каковы преимущества LINQ? почему и когда кто-то должен использовать LINQ?
Почему и когда использовать LINQ?
Ответ 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:
- Bart De Smet - расширенный
- Charlie Calvert
- Wriju
Ответ 2
Это справедливый вопрос, но его уже много раз спрашивали. См. Эти более ранние вопросы для более глубокого и широкого охвата:
Ответ 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. Он имеет встроенную поддержку языка и упрощает доступ к вашим объектам с использованием стандартных шаблонов доступа. Я использую его во всех своих новых проектах и считаю, что это значительное улучшение для меня в простоте и тестируемости. В этом сообщении есть намного больше информации.