WP7 – przydatne linki
8 Lipiec 2011 5 komentarzy
Od roku zajmuje się zawodowo pisaniem aplikacji pod platformę WP7. Od tego czasu natrafiłem na wiele przydatnych stron. Poniżej zamieszczam kilka przydatnych linków:
Yet another .NET blog :)
8 Lipiec 2011 5 komentarzy
Od roku zajmuje się zawodowo pisaniem aplikacji pod platformę WP7. Od tego czasu natrafiłem na wiele przydatnych stron. Poniżej zamieszczam kilka przydatnych linków:
7 Listopad 2010 1 komentarz
W Entity Framework 4 została dodana obsługa klas POCO. Samo pisanie takich klas oraz odpowiedniej klasy dziedziczącej po ObjectContext (klasa ta zapewnia "most" pomiędzy klasami POCO a EntityFramework) może być czasochłonne. Na ratunek przychodzi jednak POCO Entity Generator. Po jego instalacji wystarczy przejść do edytora naszego modelu, otworzyć menu kontekstowe, wybrać "Add Code Generation Item…", a następnie w nowo otwartym oknie wybrać "ADO.NET POCO Entity Generator". Po krótkiej chwili w danym projekcie pojawią się nowe pliki:
7 Listopad 2010 3 komentarzy
Ostatnio interesowała mnie sprawa użycia Unity razem z biblioteka MEFedMVV. Czemu w ogóle rozważałem taka kwestię? Otóż MEF pozwala jedynie zdefiniować na dwa sposoby jak dany obiekt ma być tworzony – czy będzie to jeden obiekt, czy obiekt będzie tworzony za każdym razem. Jeśli chcielibyśmy stworzyć jakieś bardziej zaawansowane reguły tworzenia obiektów (np. tworzenie nowego obiektu tylko dla danego wątku), wtedy musimy posłużyć się już jakimś kontenerem IoC/DI.
31 Październik 2010 2 komentarzy
Ostatnio przeglądałem kilka bibliotek wspomagających tworzenie aplikacji z użyciem wzorca MVVM. Najbardziej do gustu przypadł mi Cinch w wersji V2. Framework ten działa razem z biblioteką MEFedMVVM. Użycie obu bibliotek jest bardzo proste. Najpierw tworzymy klasę, która będzie naszym modelem widoku:
24 Październik 2010 3 komentarzy
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:
17 Październik 2010 6 komentarzy
W tym poście przedstawię swoją implementację wzorca Repository z użyciem Entity Framework. Na początek zdefiniowałem interfejs IRepository:
16 Październik 2010 2 komentarzy
W SQLite używam autoinkrementacji wartości kluczy głównych w tabelach. Domyślnie wygenerowany model przez generatora Entity Framework nie uwzględniał tego faktu. Próba wstawienia nowego rekordu do tabeli zakończy się po prostu błędem, ponieważ Entity Framework będzie chciał wstawić jakąś wartość. W celu naprawienia tej sytuacji musiałem w designerze ustawić pole StoreGeneratedPattern na Identity:
10 Październik 2010 1 komentarz
Obecnie do składowania danych wykorzystuję pliki XML. Generyczna klasa abstrakcyjna AbstractDataAccess zajmuje się serializacją i deserializacją odpowiednich danych. Postanowiłem jednak wykorzystać Entity Framework w połączeniu z SQLite do składowania danych. Głównie dlatego, że wolę skorzystać z gotowego mechanizmu zapisu/odczytu niż dalej rozwijać coś własnego. Z Entity Framework miałem już do czynienia podczas pracy inżynierskiej. Użyłem wtedy pierwszej wersji EF, a teraz chciałbym zobaczyć jak wygląda w praktyce wersja 4.0.
19 Wrzesień 2010 2 komentarzy
Korzystanie z interfejsu INotifyPropertyChanged podczas pracy z WPF to praktycznie codzienność. Za którymś razem jednak implementacja tego interfejsu w kolejnej klasie może już zbrzydnąć. Dlaczego, więc nie skorzystać z refleksji i extensions methods? Metodę wywołującą zdarzenie PropertyChanged napiszemy raz i będziemy z niej korzystać do woli. Implementacja tej metody w moim wykonaniu wygląda następująco:
5 Wrzesień 2010 5 komentarzy
Ostatnio zainstalowałem sobie narzędzie StyleCop, które służy do analizy kodu C# pod kątem przestrzegania ustalonego stylu kodowania. Wśród olbrzymiej ilości błędów jakie zostały zwrócone przez narzędzie, był błąd SA1633: FileMustHaveHeader. Błąd informuje nas o braku nagłówka w danym pliku. Nagłówek musi znajdować się na początku pliku i mieć następującą postać: