Nauka o LINQ [wstrzymane]

Przegląd

Jedną z rzeczy, o które pytałem wiele na tej stronie jest LINQ . Pytania, które zadałem były szerokie i zróżnicowane i często nie mają za sobą zbyt dużego kontekstu. Tak więc, próbując skonsolidować wiedzę, którą zdobyłem na Linq, zamieszczam to pytanie w celu utrzymania i aktualizacji go o dodatkowe informacje, ponieważ nadal dowiaduję się o LINQ.

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

Co to jest LINQ?

From MSDN :

Projekt LINQ jest nazwą kodową dla zestaw rozszerzeń do. NET Ramy, które obejmują język-zintegrowane zapytanie, zestaw i przekształć operacje. Rozszerza C# oraz Visual Basic z językiem ojczystym składnia dla zapytań i zapewnia klasę biblioteki, aby skorzystać z tych możliwości.

Oznacza to, że LINQ zapewnia standardowy sposób zapytań o różne źródła danych przy użyciu wspólnej składni.

Jakie są smaki LINQ?

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

Jest sporo innych, z których wiele jest wymienionychtutaj .

Jakie są korzyści?

  • standaryzowany sposób zapytań o wiele źródeł danych
  • bezpieczeństwo zapytań w czasie kompilacji
  • zoptymalizowany sposób wykonywania operacji na obiektach w pamięci
  • możliwość debugowania queries

Więc co mogę zrobić z LINQ?

Chook zapewnia sposób na wyjście plików CSV
Jeff pokazuje jak usunąć duplikaty z tablicy
Bob dostaje odrębną listę uporządkowaną z danych
Marxidad pokazuje jak posortować tablicę
Dana otrzymuje pomoc w zaimplementowaniu szybkiego sortowania za pomocą Linq

Od czego zacząć?

Zestawienie linków z GateKiller ' s pytanie poniżej :
W 2009 roku Linq został zaproszony na stanowisko dyrektora ds.]} Przegląd LINQ na MSDN

ChrisAnnODell sugeruje sprawdzenie:

Co jest potrzebne do korzystania z LINQ?

Linq jest obecnie dostępny w VB.Net 9.0 i C# 3.0 więc będziesz potrzebował Visual Studio 2008 lub nowszego do uzyskaj pełne korzyści. (Zawsze możesz napisać swój kod w notatniku i skompilować za pomocą MSBuild)

Istnieje również narzędzie o nazwie LinqBridge , które pozwoli Ci uruchamiać zapytania podobne do LINQ w C# 2.0.

Tips and tricks using LINQ

To pytanie ma kilka trudnych sposobów na użycie LINQ

Author: lomaxx, 2008-08-19

10 answers

Oto 101 próbek Linq, które są świetnym punktem odniesienia, jeśli chcesz tylko szybkiego przykładu składniowego.

Nie zapominajmy też LinqPad :)

 45
Author: ChrisAnnODell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-25 10:33:57
 10
Author: Chris S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-28 12:11:15

Wymień LINQ do encji od ADO.NET Entity Framework będzie ważnym modułem. NET.

 6
Author: Andrei Rînea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-28 22:52:29

Pobierz książkę Linq w akcji jest to łatwa do odczytania książka o kodowaniu i naprawdę uczy, jak korzystać z Linq i nowych funkcji. NET 3.5 niektóre z fajnych części, które wkładają do języka.

 4
Author: David Basarab,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-30 02:02:43

Kilka porad LINQ:

  • Zastosuj filtry przed połączeniem, aby poprawić wydajność zapytań
  • filtrowanie zapytań LINQ za pomocą porównania referencji obiektów
  • Apply agregates to empty collections in LINQ to SQL queries
  • Delay loading a property in LINQ to SQL
  • Użyj funkcji wartych tabelę z włączonym eager loading
  • Wstaw połączenia w odpowiedniej kolejności w zapytaniu LINQ to Objects
  • Skomponuj zapytanie LINQ wewnątrz loop

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

 4
Author: Konstantin Tarkus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-03 20:14:24

IMHO, pomijaną, ale ważną zaletą jest efektywność kodowania LINQ, np. ile można osiągnąć przy tak małej ilości kodu. Osobiście uważam składnię zapytania za łatwą do odczytania i zrozumienia.

 4
Author: Matthew Sposato,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-10 21:22:22

Niektóre zastrzeżenia dotyczące używania LINQ do SQL:

Microsoft naprawdę zabił LINQ do SQL?

Czy LINQ to SQL DOA?

Istnieją również pewne kontrowersje dotyczące pierwszej wersjiEntity Framework , w tym petycji .

 3
Author: DOK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:44

Myślę, że odpowiedź na "jakie są smaki LINQ?"jest niekompletna. 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 (plus więcej zasobów na temat uczenia się LINQ) na blogu Charliego Calverta: Linki do LINQ .

A także jest świetna seria blogów Matta Warrena o tym, jak stworzyć własnego dostawcę LINQ: LINQ: Budowanie IQueryable provider series

 3
Author: Alexandra Rusina,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-06 17:56:08

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

 2
Author: refactor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-07 11:19:26

Dla Praktyki Linq

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

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

Pobierz z git, otwórz w Visual Studio. Twoim zadaniem jest sprawienie, by testy przeszły pomyślnie.

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

 0
Author: BKSpurgeon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-28 00:34:07