Руководство для начинающих по 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.
Майк
- Начните со всего, что Скотт Гатри имеет на linq
- Получить ссылку на Pocket LINQ, которая является отрывком из C# 3.0 в двух словах
Я рекомендую 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, вот некоторые статьи, написанные Андерсом и другими:
- LINQ:.NET-интегрированный в язык запрос
- LINQ to SQL: встроенный в язык запрос.NET для реляционных данных
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 -
Я думаю, что эта книга:
Автор Jon Skeet - отличное руководство для программистов, которое точно соответствует вашим потребностям (переход с более ранних версий C# на C#3.5).
Кроме того, если вы заказываете его, вы также получаете электронную копию - то, что должно делать больше издателей (отлично подходит как для Kindles, так и для поиска).