Руководство для начинающих по LINQ

Во время бета-тестирования Stack Overflow я видел довольно много вопросов о LINQ SQL, но ничего не знаю об этом... это звучит очень интересно.

Что такое LINQ и как мне начать?

Ссылки на руководства или документацию бонус:)

PS: я давний разработчик C#, который ежедневно использует Datatables и параметризованный SQL

16 ответов

Решение

LINQ расшифровывается как Language Integrated Query и представляет собой набор расширений для.NET, которые позволяют одинаково запрашивать данные из кода и не привязаны к конкретному источнику данных. Вы можете использовать один и тот же код LINQ для SQL Server, XML, объектов, наборов данных и объектов.

Вот хорошее вступление от Скотта Гатри

Это хороший набор из 101 образцов LINQ

Две книги, которые вы должны рассмотреть для изучения LINQ, обе от Мэннинга:

Первый был написан лучше, и он научил меня почти так же много о LINQ в одной главе, как последний в целой книге. LINQ построен на большом фундаменте, а C# in Depth создает его с нуля.

Вторая книга намного лучше, чем ничего, и вы узнаете именно о LINQ то, что не узнаете в первой. Но первая книга даст вам гораздо лучшую основу и поднимает, по крайней мере, маркерную перспективу, а не более или менее слепо следуя линии MS. Итак, я рекомендую C# in Depth в первую очередь для изучения LINQ.

Майк

Я рекомендую Wooked On LINQ вики. У них есть отличная вводная информация, а также более подробная информация и примеры по всем операторам.

Я перечислил много ссылок на LINQ в примечаниях к шоу для Эпизода 10, посвященного скотоводству (на LINQ). Одна из моих любимых статей - статья в журнале MSDN Magazine, в которой объясняется, как LINQ работает с точки зрения фреймворка, и который действительно помог мне понять, как он работает.

Вот несколько хороших обучающих программ (видео) от OakLeaf Systems:

http://oakleafblog.blogspot.com/2007/04/two-new-linq-to-sql-video-segments-from.html http://oakleafblog.blogspot.com/2007/05/mike-taulty-posts-six-new-linq-to-xml.html

РЕДАКТИРОВАТЬ: Я только что наткнулся на этот замечательный инструмент, созданный автором C# в двух словах: http://www.linqpad.net/ Он включает в себя множество отличных простых для понимания примеров.

Я настоятельно рекомендую вам поиграть с LINQPad ( http://www.linqpad.net/), это бесплатный инструмент, который позволяет (помимо прочего) подключаться к серверу базы данных и запрашивать его с помощью LINQ to SQL. Это избавляет от необходимости настраивать консольные приложения для игры.

Linq - сокращение от "встроенный в язык запрос". Это набор улучшений языка, встроенных в C# и VB. По сути, вы получаете набор стандартных операторов запросов, которые можно применять к любому IEnumerable типа T. Существует множество различных провайдеров linq для конкретных типов данных - например, есть linq для xml, linq для объектов, даже linq поделиться

Чтобы начать работать с linq во всех его многочисленных формах, я предлагаю книгу Джонафа Ратца Pro Linq. Это отличный обзор Linq. Он использует базовый подход, сначала описывая все языковые функции (такие как лямбда-выражения и деревья выражений), на которых построен Linq, а затем переходит к некоторым стандартным реализациям провайдера linq.

Кроме того, вот довольно хорошая статья MSDN, описывающая Linq: LINQ:.NET Language-Integrated Query

Теперь Linq to Sql - это поставщик linq, написанный специально для SQL Server. В этот провайдер входит OR/M, который предоставляет вам удобную функциональность (например, вывод всех таблиц sql, чтобы вы получили надежное представление схемы базы данных во время разработки). Это совершенно потрясающе, и для меня, значительно ускорить время разработки при работе с базой данных SQL. В книге, которую я рекомендовал выше, также есть отличный раздел об использовании Linq To Sql. Кроме того, вот хорошая статья "Руководство для начинающих" из MSDN: Linq To SQL:.NET-интегрированный язык запросов для реляционных данных

Чтобы попрактиковаться без необходимости писать код переноса просто для выполнения linq-запросов, вы можете использовать linqpad.net

Ну вот. Я начал с объяснения / примеров ScottGu и пошел оттуда:

http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

Из MSDN, вот некоторые статьи, написанные Андерсом и другими:

PS После того, как я написал это, я вижу, что кто-то уже связался с ними, но скрыт внутри абзаца, так что я буду держать их здесь и в виде списка.

Это может быть полезно новичкам на linq. Пошаговое руководство с изображением. http://readerstimepass.blogspot.com/2010/11/step-by-step-guide-to-implement-linq-to.html

Вот пошаговое руководство о том, как интегрировать LINQ с вашими веб-приложениями в asp.net. Надеюсь, это поможет http://www.progtalk.com/viewarticle.aspx?articleid=68

Здесь есть подкаст (бесстыдный плагин), который охватывает LINQ от одного из авторов LINQ в действии.

Deep Fried Bytes - Серия 14: LINQ'ing будущее развития с Джимом Вули

Множество замечательных вещей в этом шоу, которые также могут вам помочь.

Немного стар, но все еще актуален: http://www.developerzen.com/2007/09/17/introduction-to-linq/

Существует также версия страницы примеров кода для VB.Net -

http://msdn.microsoft.com/en-us/vbasic/bb688088.aspx

Я думаю, что эта книга:

C# в глубине

Автор Jon Skeet - отличное руководство для программистов, которое точно соответствует вашим потребностям (переход с более ранних версий C# на C#3.5).

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

Другие вопросы по тегам