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:
- Linq to Objects, który umożliwia wykonywanie zapytań na dowolnym obiekcie IEnumerable.
- Linq to SQL, który umożliwia wykonywanie zapytań do bazy danych w sposób obiektowy.
- Linq to XML, który pozwala wyszukiwać, ładować, sprawdzać poprawność, serializować i manipulować dokumentami XML.
- Linq do jednostek, jak sugerował Andrei
- Linq do zestawu danych
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
Odpowiedzi:
LINQ do podmiotów:
Mam o wiele więcej tagowanych na Delicious.com .
źródło
Wspomnij o LINQ dla Encji, ponieważ ADO.NET Entity Framework będzie ważnym modułem .NET.
źródło
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.
źródło
Kilka porad LINQ:
http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp
źródło
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.
źródło
Niektóre zastrzeżenia dotyczące używania LINQ do SQL :
Czy Microsoft naprawdę zabił LINQ na SQL?
Czy LINQ to SQL DOA?
Istnieją również kontrowersje dotyczące pierwszej wersji Entity Framework , w tym petycji .
źródło
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
źródło
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.
źródło
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ę.]
źródło