Informacje na temat LINQ [zamknięte]

189

Przegląd

Jedną z rzeczy, o które dużo pytałem na tej stronie, jest LINQ . Pytania, które zadałem, były szerokie i zróżnicowane i często nie mają za sobą dużego kontekstu. Tak więc, próbując utrwalić wiedzę zdobytą na Linq, zamieszczam to pytanie, mając na względzie utrzymanie i aktualizację o dodatkowe informacje w miarę dalszego uczenia się o LINQ.

Mam również nadzieję, że okaże się przydatnym źródłem informacji dla innych osób chcących dowiedzieć się o LINQ.

Co to jest LINQ?

Z MSDN :

Projekt LINQ to nazwa kodowa zestawu rozszerzeń systemu .NET Framework, które obejmują zintegrowane z językiem zapytania, ustawianie i przekształcanie. Rozszerza C # i Visual Basic o składnię języka ojczystego dla zapytań i zapewnia biblioteki klas, które mogą skorzystać z tych możliwości.

Oznacza to, że LINQ zapewnia standardowy sposób przeszukiwania różnych źródeł danych przy użyciu wspólnej składni.

Jakie są smaki LINQ?

Obecnie istnieje kilka różnych dostawców LINQ dostarczanych przez Microsoft:

Istnieje wiele innych, z których wiele jest tutaj wymienionych .

Jakie są korzyści?

  • Standaryzowany sposób zapytania do wielu źródeł danych
  • Kompiluj bezpieczeństwo czasowe zapytań
  • Zoptymalizowany sposób wykonywania zestawów operacji na obiektach pamięci
  • Możliwość debugowania zapytań

Co mogę zrobić z LINQ?

Chook zapewnia sposób na wyprowadzenie plików CSV
Jeff pokazuje, jak usunąć duplikaty z tablicy
Bob dostaje odrębną uporządkowaną listę z
tabeli danych Marxidad pokazuje, jak sortować tablicę
Dana dostaje pomoc w implementacji szybkiego sortowania za pomocą Linq

Gdzie zacząć?

Podsumowanie linków z pytania GateKiller znajduje się poniżej :
Scott Guthrie przedstawia wprowadzenie do Linqa na swoim blogu
Przegląd LINQ na MSDN

ChrisAnnODell sugeruje sprawdzenie:

Czego potrzebuję, aby korzystać z LINQ?

Linq jest obecnie dostępny w VB.Net 9.0 i C # 3.0, więc potrzebujesz Visual Studio 2008 lub nowszego, aby uzyskać pełne korzyści. (Zawsze możesz napisać kod w notatniku i skompilować za pomocą MSBuild)

Istnieje również narzędzie o nazwie LinqBridge, które pozwala na uruchamianie zapytań podobnych do Linq w C # 2.0.

Wskazówki i porady dotyczące korzystania z LINQ

To pytanie ma kilka trudnych sposobów korzystania z LINQ

lomaxx
źródło
+1 za świetny post i odniesienie do bloga ScottGu. To świetny zasób i tam na początku nauczyłem się LINQ.
Evan Plaice
Hooked On LINQ trafia na japońską stronę. Tłumacz Google mówi o rimmingu i innych rzeczach, które są nsfw. : SI z jakiegoś powodu nie może go jednak edytować.
Shane

Odpowiedzi:

6

Wspomnij o LINQ dla Encji, ponieważ ADO.NET Entity Framework będzie ważnym modułem .NET.

Andrei Rînea
źródło
4

Pobierz książkę Linq w akcji . Jest to łatwa do przeczytania książka z kodami i naprawdę uczy, jak korzystać z Linq i nowych funkcji .NET 3.5, niektórych fajnych części, które wprowadzają do języka.

David Basarab
źródło
4

Kilka porad LINQ:

  • Zastosuj filtry przed złączeniem, aby poprawić wydajność zapytania
  • Filtruj zapytania LINQ za pomocą porównania referencji obiektów
  • Zastosuj agregaty do pustych kolekcji w LINQ do zapytań SQL
  • Opóźnij ładowanie właściwości w LINQ do SQL
  • Używaj funkcji wycenianych w tabeli z włączonym chętnym ładowaniem
  • Umieść sprzężenia w odpowiedniej kolejności w zapytaniu LINQ to Objects
  • Utwórz zapytanie LINQ w pętli

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

Konstantin Tarkus
źródło
4

IMHO, przeoczoną, ale ważną zaletą, jest wydajność kodowania LINQ, np. Jak wiele można osiągnąć przy tak małym kodzie. Osobiście uważam, że składnia zapytania jest łatwa do odczytania i zrozumienia.

Matthew Sposato
źródło
3

Myślę, że odpowiedź na „Jakie są smaki LINQ?” jest niekompletny. Przede wszystkim możesz stworzyć swój własny „smak”. Tak, jest to zaawansowane zadanie, ale obecnie istnieje wiele różnych implementacji LINQ.

Oto lista istniejących dostawców LINQ (oraz dodatkowe zasoby na temat nauki LINQ) na blogu Charliego Calvert'a: Linki do LINQ .

Istnieje również znakomita seria postów na blogu autorstwa Matta Warrena na temat tworzenia własnego dostawcy LINQ: LINQ: Budowanie serii dostawców IQueryable

Alexandra Rusina
źródło
2

Moje 2 centy, przeczytaj rozdziały „11 wyrażeń zapytania i LINQ do obiektów” i „12 LINQ poza kolekcjami” w książce „C # in Depth”, aby zrozumieć, jak działa LINQ.

refaktor
źródło
0

Dla praktyki Linq

Jeśli chcesz poćwiczyć na LINQ z ćwiczeniami i odpowiedziami, naprawdę łatwe do skonfigurowania i, moim zdaniem, niesamowite:

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

Pobierz z git, otwórz w Visual Studio. Twoim zadaniem jest zdanie testów.

[ujawnienie: nauczyłem się z niego trochę linq i przyczyniam się do projektu, więc tak, myślę, że to niesamowity, szybki i skuteczny sposób na naukę.]

BKSpurgeon
źródło