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

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

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

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

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

Ответ 1

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

Вот хорошее введение из Скотт Гатри

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

Ответ 2

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

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

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

Mike

Ответ 4

Вот несколько хороших обучающих программ (видео) от 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

EDIT: Я просто столкнулся с этим замечательным инструментом, созданным автором С# в двух словах: http://www.linqpad.net/ Он включает в себя множество замечательных простых примеров.

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

Чтобы начать работу с linq во всех его многочисленных формах, я предлагаю книгу Pro Linq by Joseph C. Rattz. Это отличный обзор Linq. Он использует подход с нуля, сначала описывая все языковые функции (такие как выражения Lambda Expressions и Expression Trees), на которые построен Linq, а затем переходит к некоторым стандартным реализациям linq-провайдера.

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

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

Ответ 8

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

Ответ 10

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

С# в глубине

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

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

Ответ 12

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

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