Сведения о вопросе

Solllo

16:57, 9th August, 2020

Изучение LINQ

Просмотров: 446   Ответов: 9

Обзор

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

Я также надеюсь, что он окажется полезным ресурсом для других людей, желающих узнать о LINQ.

Что такое LINQ?

От MSDN :

Проект LINQ-это кодовое имя для a набор расширений для .NET Рамки, которые охватывают язык-интегрированный запрос, набор и операции преобразования. Он расширяет C# и Visual Basic с родным языком синтаксис для запросов и предоставляет класс библиотеки, чтобы воспользоваться этими преимуществами способности.

Это означает, что LINQ предоставляет стандартный способ запроса различных источников данных с использованием общего синтаксиса.

Какие ароматы LINQ существуют?

В настоящее время существует несколько различных поставщиков LINQ, предоставляемых корпорацией Майкрософт:

  • Linq к объектам , что позволяет выполнять запросы к любому объекту IEnumerable.
  • От Linq до SQL , что позволяет выполнять запросы к базе данных в объектно-ориентированном виде.
  • От Linq до XML , что позволяет запрашивать, загружать, проверять, сериализовывать и манипулировать документами XML.
  • Linq to Entities по предложению Андрея
  • Linq к набору данных

Есть довольно много других, многие из которых перечислены здесь .

Какие же это преимущества?

  • Стандартизированный способ запроса нескольких источников данных
  • Безопасность запросов во время компиляции
  • Оптимизированный способ выполнения операций на основе наборов для объектов в памяти
  • Возможность отладки запросов

Так что же мне делать с LINQ?

Chook предоставляет способ вывода CSV файлов
Джефф показывает, как удалить дубликаты из массива
Боб получает четкий упорядоченный список из datatable
Марксидад показывает, как сортировать массив
Дана получает помощь в реализации быстрой сортировки с помощью Linq

С чего начать?

Краткое содержание ссылок из вопроса GateKiller приведено ниже :
Скотт Гатри приводит вступление к Linq в своем блоге
Обзор LINQ на MSDN

ChrisAnnODell предлагает проверить



  Сведения об ответе

COOL

00:28, 26th August, 2020

  Сведения об ответе

qwerty101

22:18, 24th August, 2020

Упомяните LINQ для сущностей, так как ADO.NET Entity Framework будет важным модулем .NET.


  Сведения об ответе

nYU

00:52, 16th August, 2020

ИМХО, упускаемое из виду, но важное преимущество-это эффективность кодирования LINQ, например, как много может быть достигнуто с таким небольшим количеством кода. Лично я нахожу синтаксис запроса легким для чтения и понимания.


  Сведения об ответе

padenie

14:18, 13th August, 2020

Получить книгу Linq в действии это легко читать для книги кодирования и действительно учит вас, как использовать Linq и новые возможности .NET 3.5 некоторые из интересных частей, которые они ставят для языка.


  Сведения об ответе

fo_I_K

22:17, 22nd August, 2020

Несколько советов LINQ:

  • Применяйте фильтры перед соединением для повышения производительности запросов
  • Фильтр LINQ запросов с использованием сравнения ссылок на объекты
  • Применение агрегатов к пустым коллекциям в запросах от LINQ до SQL
  • Задержка загрузки свойства в LINQ - SQL
  • Используйте табличные функции с включенной активной загрузкой
  • Поместите соединения в правильном порядке в запросе LINQ to Objects
  • Составьте запрос LINQ внутри цикла

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


  Сведения об ответе

screen

10:42, 23rd August, 2020

Я думаю, что ответ на "What flavors of LINQ are there?" является неполным. Прежде всего, вы можете создать свой собственный "flavor". Да, это сложная задача, но сейчас существует много различных реализаций LINQ.

Вот список существующих поставщиков LINQ (плюс еще несколько ресурсов по обучению LINQ) в блоге Чарли Калверта: ссылки на LINQ .

А также есть отличная серия записей в блоге Мэтта Уоррена о том, как создать свой собственный поставщик LINQ: LINQ: создание серии поставщиков IQueryable


  Сведения об ответе

VCe znayu

21:06, 1st October, 2020

Некоторые предостережения об использовании LINQ - SQL :

Неужели Microsoft действительно убила LINQ до SQL?

Это от LINQ до SQL DOA?

Есть также некоторые разногласия по поводу первой версии Entity Framework, включая петицию .


  Сведения об ответе

DINO

22:56, 23rd August, 2020

Мои 2 цента, прочитайте главы "11 Query expressions and LINQ to Objects" и "12 LINQ beyond collections" в книге "C# In Depth, чтобы понять, как работает LINQ.


  Сведения об ответе

прога

03:45, 23rd August, 2020

Для Linq Практики

Если вы хотите немного попрактиковаться на LINQ с упражнениями и ответами, очень легко настроить и, на мой взгляд, потрясающе:

https://github.com/walkhard/linq-exercises

Скачать с git, открыть в Visual Studio. Ваша задача - сделать так, чтобы тесты прошли успешно.

[disclosure: я узнал некоторые linq из него, и я вношу свой вклад в проект, так что да, я думаю, что это удивительный, быстрый и эффективный способ учиться.]


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться