Entity Framework i śledzenie wykonywanych zapytań SQL 24 Październik 2010- autor: mendoza32Dodaj komentarz Ostatnio interesowało mnie jakie właściwie zapytania SQL generuje Entity Framework. Chwila na Google i znalazłem Entity Framework Profiler. Najnowszą wersję można pobrać z tego miejsca. Użycie tego narzędzia jest banalnie proste. Najpierw musimy dodać referencję do biblioteki HibernatingRhinos.Profiler.Appender.dll. Następnie gdzieś w punkcie startowym aplikacji umieścić takie polecenie: Hibernating...
Architektura 5143 dni, 20 godzin, 15 minut temu 168 źrodło rozwiń
Design by Contract (TM) to technika programowania defensywnego, postulująca jawne specyfikowanie interfejsów komponentów, np. poprzez deklarowanie warunków, które muszą spełniać argumenty metod (to w zasadzie najczęstszy przypadek). Zwykle w projektach realizujemy to wymaganie albo poprz...
Architektura 5153 dni, 8 godzin, 2 minuty temu 90 źrodło rozwiń
Każda bardziej skomplikowana (niż „hello word”) aplikacja posiada jakąś architekturę. Chyba najbardziej popularna wśród początkujących to spaghetti. Architektura spaghetti charakteryzuje się tym, że różne kawałki kodu są po prostu przemieszane ze sobą. Czasem tak dobrze, że w jednej procedurze i/lub funkcji znajdziemy wszystkie składniki. Na szczęście kilka programów później, prawie każdy zaczyna coraz bardziej myśleć o architekturze. O tym, jak poszczególne elementy aplikacji będą poskładane i jak będą ...
Architektura 5153 dni, 8 godzin, 2 minuty temu 182 źrodło rozwiń
W tym poście przedstawię swoją implementację wzorca Repository z użyciem Entity Framework. Na początek zdefiniowałem interfejs IRepository...
Architektura 5153 dni, 22 godziny, 56 minut temu 338 źrodło rozwiń
Wielu programistów, zwłaszcza tych początkujących, przez cały czas kurczowo trzyma się tablic, jako uniwersalnego sposobu na przechowywanie dużej ilości określonych zmiennych/obiektów. I może jest to jakaś opcja, ale sumarycznie tablice dają duże ograniczenia. Deklarując tablicę, trzeba znać z góry ustaloną ilość elementów jaka będzie miała się znaleźć w tej tablicy i tym samym alokując dużą ilość pamięci już na starcie (być może taką ilość, której nawet nie wykorzystamy), ponadto tablice nie mają wielu ...
Architektura 5155 dni, 11 godzin, 19 minut temu 172 źrodło rozwiń
Niejednokrotnie tworząc własne kolekcje danych, chcielibyśmy mieć swobodę ich edycji, filtrowania i przeszukiwania. Podstawowe operacje dostarczone przez interfejs kolekcji, nie rozpieszczają użytkowników. W takim momencie, każdy programista z zazdrością spogląda na kolegę, który zajmuje się bazą danych i który dzięki zapytaniom, może właściwie w dowolny sposób manipulować posiadanymi danymi. Jednak jeśli jesteś programistą .Net i korzystasz z tego Frameworka w wersji co najmniej 3.5 - to mam dla Ciebie ...
Architektura 5155 dni, 21 godzin, 18 minut temu 173 źrodło rozwiń
Obsługa zdarzeń, jest niezwykle ważna w każdym języku programowania. Pozwala ona na sprawne wykonywanie operacji związanych z aktualnym przetwarzaniem wykonywanym w aplikacji. Dla programisty, ważne jest aby ten proces przebiegał w sposób jak najbardziej automatyczny. Dlatego w dzisiejszym tekście, postaram się opisać delegaty oraz tworzone na ich podstawie zdarzenia (z ang. events).
Architektura 5156 dni, 14 godzin, 58 minut temu 678 źrodło rozwiń
JSON jest lekkim i uniwersalnym format przesyłania danych. Pozwala on przekazywać informacje w szybki i sprawny sposób np. pomiędzy elementami strony WWW. Na tym blogu, pisałem już o nim wielokrotnie. Ostatnio np. we wpisach: Ajax, XML i JSON w jQuery i Widget Twitter w PHP i jQuery na stronie. W tych właśnie wpisach, ukazałem JSONa głównie pod kątem użycia w JavaScripcie. Dziś, mam zamiar pokazać jego użycie w środowisku .NET wykorzystując do tego język C#.
Architektura 5156 dni, 20 godzin, 38 minut temu 169 źrodło rozwiń
Od początku pracy nad DesktopInfo wiadome było, że będzie potrzebny mechanizm do ładowania pluginów, dodatkowych modułów, które rozszerzą możliwości aplikacji bez potrzeby jej rekompilacji. Pierwszy pomysł jaki przechodzi do głowy to refleksja. Jednak jakiś czas temu postała biblioteka MEF, która została włączona do .NET Framework 4.0 Ponieważ aplikacja DesktopInfo wykorzystuje właśnie tą wersję .NET, to dlaczego nie wykorzystać nowej funkcjonalności. Zatem zobaczmy krok po kroku co jest potrzebne aby ...
Architektura 5157 dni, 20 godzin, 21 minut temu 160 źrodło rozwiń
W świecie informatyki, zaprogramować można wszystko. Ponadto, każdy problem, czy zagadnienie ma tysiące rozwiązań (a może nawet tyle co programistów na świecie:)). Niektóre problemy - zagadnienia, powtarzają się na tyle często, że pewne mądre głowy opracowały gotowe sposoby, wzorce rozwiązań takich problemów. Kiedyś opisywałem już wzorzec projektowy Model View Controller. Dziś, chciałbym zaprezentować wzorzec projektowy Factory (z ang. fabryki), ułatwiający tworzenie nowych obiektów. Przykłady zaprezent...
Architektura 5159 dni, 16 godzin, 8 minut temu 297 źrodło rozwiń
W dobie postępującej globalizacji oraz otwarcia Polski na świat, warto rozpatrzyć możliwość tworzenia aplikacji w wielu wersjach językowych. Pozwoli to z pewnością na zwiększenie potencjalnego grona odbiorców. Kiedy mamy już takie ambitne plany, pozostaje jednak kwestia doboru języka/technologii, która to zadanie zrealizuje. Ja wybrałem do tego celu C# z frameworku .NET, który w banalny sposób umożliwia tworzenie zlokalizowanych aplikacji. Jeśli nie jesteście jednak koderami tworzącymi aplikacje okienko...
Architektura 5163 dni, 16 godzin, 25 minut temu 93 źrodło rozwiń
Pierwsze relacyjne bazy danych powstały w latach ‘70 ubiegłego wieku, na długo przedtem nim języki programowania zorientowane obiektowo stały się popularne. Obecnie są standardem jeśli chodzi o mechanizm persystencji w programowaniu obiektowym. Jednak o tym, że translacja obiektowego modelu na relacyjny jest bardzo często procesem karkołomnym, nieprzyjemnym i bł...
Architektura 5175 dni, 18 godzin, 38 minut temu 185 źrodło rozwiń
Na Codeplex w dziale Patterns & Practices pojawił się poradnik dla osób, które chciałyby przenieść swoje aplikacje na platformę Windows Azure.
Architektura 5181 dni, 8 godzin, 42 minuty temu 31 źrodło rozwiń
Małe odejście od PivotViewer, poniżej mamy prosty kod (wystarczy go wkleić do aplikacji konsolowej by się uruchomił). Chciałbym wypisać (to jest ważne, nie chcę widzieć tego w UI, chcę to wypisać sobie) wszystkie operacje boxingu i unboxingu znajdujące się w tym kodzie (może to być to numer linii i typ operacji, lub sam typ operacji plus informacja w którym miejscu to następuje).
Architektura 5184 dni, 9 godzin, 4 minuty temu 69 źrodło rozwiń
Drugi odcinek serii (przypominam, że na początku był odcinek 0.). Minęła pierwsza iteracja, zakończona całkiem nie małym sukcesem, bo zdążyliśmy zaimplementować wszystkie zaplanowane funkcjonalności, jednocześnie skupiając się bardziej na jakości niż na szybkości prac. A więc jakie zmiany zaszły w naszym projekcie? Przede wszystkim rozrósł się znacznie, zyskał wiele funkcjonalności, a to pociągnęło za sobą konieczność pewnych zmian i udoskonaleń w architekturze. Przypomnę, że nasza solucja jest aktualnie...
Architektura 5185 dni, 10 godzin, 57 minut temu 64 źrodło rozwiń
Instalacja MVVM Light Toolkit Właściwie jedyne co jest niezbędne do pracy z MVVM LT, to same biblioteki w formie plików DLL, jednak aby naprawdę wygodnie korzystać z tego narzędzia dobrze jest skorzystać z małych wspomagaczy przygotowanych przez autora. Pobieramy paczkę stąd i następnie wypakowujemy to co nam potrzeba. Jest tego całkiem sporo, ponieważ przygotowane są wersje zależne od wykorzystywanej technologii i oprogramowania: binarki - biblioteki w postaci plików DLL w postaciach przygotowanych dla...
Architektura 5185 dni, 10 godzin, 57 minut temu 417 źrodło rozwiń
Deus ex adfectus machina – menedżer stanów Skąd taki tytuł? Deus ex machina (łac.) – Bóg z maszyny adfectus (łac.) – stan Za Eurypisesem wprowadzę do Theme Festival coś, co szybko rozwiąże problem zarządzaniem grą, „aby akcja nie trwała zbyt długo” (za Wikipedią). Ten wpis poświęcę koncepcji menedżera stanów, „Boga z maszyny stanów”. O co tu chodzi? Całą grę należy wyobrazić sobie jako graf przejść między stanami. Stanem gry może być wszystko, od menu, przez okno opcji, po różne etapy rozgrywki. Przej...
Architektura 5187 dni, 22 godziny, 35 minut temu 32 źrodło rozwiń
Na naszym blogu opisujemy na bieżąco proces tworzenia pewnego projektu. Proces ten jest oparty o metodologie z rodziny Agile, a jego poszczególne elementy przedstawiamy w kolejnych wpisach. Możliwe jednak, że stronę tą odwiedzą również osoby, które nigdy wcześniej nie słyszały o czymś takim, jak Agile. Ten wpis jest adresowany głównie do nich.
Architektura 5187 dni, 22 godziny, 35 minut temu 103 źrodło rozwiń
Korzystając z wzorca MVVM cały czas skupiamy się na zachowaniu koncepcji czyli wszelkiego rodzaju logika biznesowa udostępniana jest widokowi poprzez ViewModel. Z drugiej strony nasz widok (View) powinien składać się tylko ze znaczników XAML. W sieci można znaleźć mnóstwo video tutoriali gdzie oglądając odnosimy wrażenie, że punktem honoru prelegenta jest pokazanie w pełni działającej aplikacji przy zachowaniu czystego CodeBehind. Ostatnio jednak uświadomiłem sobie (a raczej wymaganie biznesowe postaw...
Architektura 5190 dni, 16 godzin, 16 minut temu 170 źrodło rozwiń
Problem oprogramowania, które ulega degradacji dotyczy w głównej mierze projektów, w których zapomina się, iż żyjemy w świecie zmieniających się wymagań, a naszym zadaniem jest tworzenie oprogramowania, które będzie potrafiło te zmiany przetrwać. Tak jest! Wymagania zawsze się zmieniają więc powinno to być jedno z priorytetowych założeń każdego projektu. Będąc świadomym tego stanu rzeczy, należy każdorazowo stosować określony zbiór praktyk, przyczyniających się do uelastycznienia projektu.
Architektura 5192 dni, 15 godzin, 52 minuty temu 126 źrodło rozwiń