LINQ jest potężnym rozszerzeniem .NET, umożliwiającym nam wykonywanie zapytań na kolekcjach obiektów co za tym idzie wybranie elmentu o ID 10 z kolekcji procownicy, staje się banalnie proste. Jednakże by LINQ zadziałało to musi istnieć jakiś provider, który przetłumaczy dane zapytanie na określony język - LINQ2SQL, LINQ2nHibernate itp. itd. Takich rozszerzeń jest masa i Charlie stara się trzymać ich listę up-to-date. Czy są to wszystkie aktualnie dostępne providery? Na pewno nie, jednakże lista jest pok...
Bazy danych i XML 5366 dni, 16 godzin, 42 minuty temu 40 źrodło rozwiń
Ostatnio natknąłem się na coś, co... blew my mind (wydymało mi umysł?). Bardzo krótko wspomniał o tym Bartek Pampuch na ostatnim MTS i utkwiło mi w pamięci, ale dopiero kilka dni temu niechcący przyjrzałem się "owemu czemuś" bliżej. Owo cuś to biblioteka Reactive Extensions (Rx) implementująca założenia programowania reaktywnego by Microsoft.
O tym jak czasem możemy zaplątać się w szukanie zbyt skomplikowanego rozwiązania podczas gdy ładne i proste jest na wyciągnięcie ręki.
Chciałbym przedstawić wykorzystanie SQLite w połączeniu z ADO.NET przy wykorzystaniu C#. Wymaga to jednak pewnego uzupełnienia.SQLite SQLite jest biblioteką napisaną w języku C, która implementuje silnik relacyjnej bazy danych. Jak głosi główne hasło projektu jest ona “prosta, szybka, niezawodna”. Cała baza znajduje się w pojedynczym pliku, a w przeciwieństwie do innych systemów baz danych, nie występuje tu żaden demon nią zarządzający. Inne cechy warte wymienienia:Mały rozmiar biblioteki (ok. 0.5MB), ...
Bazy danych i XML 5492 dni, 5 godzin, 56 minut temu 199 źrodło rozwiń
Chyba trudno znaleźć programistę, który po dłuższej pracy z LINQ-to-SQL nie uznałby tej technologii za przełomową pod względem wygody i szybkości tworzenia aplikacji w porównaniu do tego, co wcześniej oferował sam .NET: DataSets oraz czyste DbConnections i spółka. Jednakże używanie tego rozwiązania na dłużą metę nie jest wolne od kilku wyzwań (i bardzo dobrze). W Linq2Sql klasą dającą dostęp do bazy danych jest DataContext (lub dziedzicząca po nim, dla silnie typowanych kontekstów)....
Bazy danych i XML 5517 dni, 6 godzin, 13 minut temu 162 źrodło rozwiń
var jest rodzajem zmiennej, której typ jest wnioskowany na podstawie przypisania do niej wartości. Można powiedzieć, że jest to inteligentna zmienna..
Metody rozszerzające ("extension methods") pozwalają na dodanie metod do istniejących typów bez korzystania z dziedziczenia lub uciekania się modyfikacji definicji orginalnego typu. Metody te są zawsze statyczne, ale..
Wyrażenie lambda w C# to delegat bez nazwy (delegat anonimowy). Jest to operacja, bądź ciąg operacji bez nazwy. Lewa strona wyrażenia lambda to parametry (może ich w ogóle nie być). Po prawej stronie są zdefiniowane operacje. Obie strony są rozdzielone "=>". W podobny sposób definiuje się funkcję w matematyce i można to sobie z tym skojarzyć..
Przykład zastosowania LINQ do zmiany nazw wielu plików. Proszę sobie wyobrazić, że mam ok. 2000 takich plików..
Wczoraj odbyła się prezentacja na temat LINQ. Starałem się pokazać podstawy posługiwania się tym bardzo fajnym narzędziem. Tak jak obiecałem wrzucam prezentację oraz kod, który pisałem. Aby poprawnie działało LINQ to SQL musicie stworzyc sobie prostą baze i wrzucić do pliku Mapa.dbml tak jak to robiłem wczoraj. Kod w kilku ważniejszych miejscach pokomentowałem także można go sobie na spokojnie przeanalizować :) Dzięki za przybycie! :)
Wiele tutoriali pisanych o technologii LINQ to SQL dotyczyło implementacji w wersji beta1 i beta2 (czyli tak naprawdę Visual Studio codename Orcas przed wersją RTM). W pierwotnej formie do dodawania i usuwania danych z bazy były metody Add() i Remove(). Jednak po wydaniu drugiej wersji beta pojawiły się głosy, że jest to mylące i w podejściu bazodanowym powinno nazywać się to inaczej - odpowiednio I...
Tym razem napiszę o problemie, na jaki natknąłem się korzystając z LINQ, otóż załóżmy, że mamy kolekcję zawierającą jako elementy obiekty typu np. Item. Teraz wykonuję jakąś kwerendzie LINQ i jako rezultat zwracam kolekcję niektórych właściwości klasy Item. Następnie otrzymaną listę bindujemy, do powiedzmy, kontrolki ComboBox. Wykonujemy jakieś operacje etc. a następnie chcemy pobrać zaznaczony obiekt poprzez ComboBox.SelectedItem. I tu pojawia się problem na jaki typ rzutować? Dla zobrazowania przykład...
Chwila zabawy z LINQ 2 XML i proszę mamy posty z WordPress’a w postaci obiektowej. Metoda:public IEnumerable
Na stronach Microsoft Research dostępny jest ciekawy projekt dryadLINQ, pokazujący, w jaki sposób w przyszłych wersjach .NET może być wykonywane przetwarzanie rozproszone (to znaczy – wykorzystujące wiele maszyn równolegle pracujących nad jednym rozwiązaniem).
LINQ udostępnia metodę where, która umożliwia przeszukiwanie kolekcji tak jak foreach.
Bazy danych i XML 5580 dni, 6 godzin, 57 minut temu 106 źrodło rozwiń
Przykład zastosowania LINQ do zmiany nazw wielu plików. Proszę sobie wyobrazić, że mam ok. 2000 takich plików: animacja (1).jpg animacja (2).jpg animacja (3).jpg ... animacja (100).jpg ... animacja (2000).jpg i chciałbym stworzyć z tych obrazów animacje poklatkową. Niestety program do robienia animacji nie rozumie, że powinien utworzyć film układając obrazki w kolejności numerów w nawiasach, tylko układa sortując wg. nazw. Tak samo z resztą jak metoda Directory.GetFiles():
Wszyscy chyba zdają sobie sprawę z tego, jakim dobrodziejstwem jest LINQ, które pojawiło się dosyć dawno, wraz z .NET 3.0. Jak wiadomo LINQ oferuje trochę nowych słów kluczowych oraz trochę metod - i tu pojawia się pytanie - czym różni się zapis za pomocą słów kluczowych od zapisu "metodowego"? Szczególnie interesujące zdaje się być to, czy któryś z zapisów powoduje jakiś narzut wydajnościowy. Nie będę budował napięcia i od razu odpowiem - query syntax w zasadzie nie różni się niczym od zapisu za pomoc...
Jak wygenerować sobie sitemapa na podstawie bazy danych? Trochę poczytałem w necie, ale były tam bardziej skomplikowane rzeczy, które nam były niepotrzebne. W końcu po przejrzeniu kilku pomysłów z CodeProject udało mi się napisać prosty generator, który spełnia swoje zadanie w naszej aplikacji :) Działanie generatora jest bardzo proste. Pobiera on dane z naszej bazy i na ich podstawie tworzy odpowiedniego XML-a. Do dostępu do danych i generowania pliku używam LINQ. Na początku tworzymy sobie dwie tabele...
Bazy danych i XML 5626 dni, 1 godzinę, 51 minut temu 55 źrodło rozwiń
Wśród feature'ów wprowadzonych w wersji 3.5 frameworka .NET jest między innymi LINQ (Language INtegrated Query). Mechanizm ten umożliwia - w dużym skrócie rzecz jasna - konstruowanie zapytań odnoszących się do kolekcji obiektów (w zasadzie dowolnego rodzaju) przy pomocy operatorów znanych z relacyjnych baz danych, jak SELECT czy WHERE. Ponadto w .NET 3.5 język C# został też odpowiednio rozszerzony, aby zapytania ta składniowo mogły przypominać kwerendy podobne do tych występujących w różnych odmianach ję...
Bazy danych i XML 5633 dni, 23 godziny, 1 minutę temu 134 źrodło rozwiń