Przy okazji rozpoczęcia nowego projektu chciałem w prosty sposób umożliwić budowę projektu z linii komend. Do tej pory używałem do tego NAnta, ale tym razem chciałem dać szansę narzędziu, z którego korzysta wiele projektów open-source: Rake.
Strona głównaUżytkownik
wolan | użytkownik
Microsoft Azure stało się ostatnio dość popularne na blogach a sam MS bardzo promuje swoją wersję chmury. IMHO jest to technologia, której nawet jeśli nie jest jeszcze w pełni dojrzała – pierwsze wersje narzędzi, część (np. CDN) jeszcze w wersji Beta – warto się przyglądać. Aby poznać nową technologię IMHO najlepiej spróbować wykorzystać ją w projekcie (tu zgadzam się z opinią Procenta). Tak więc zaczynamy. Na początek jak zwykle Hello World.
Próba zapisania obiektu naruszającego więzy integralności przy użyciu biblioteki NHibernate spowoduje wygenerowanie wyjątku GenericADOException. Dopiero sięgając do wartości właściwości InnerException możemy przekonać się, co jest przyczyną niepowodzenia. Istnieje jednak sposób na zastąpienie standardowego wyjątku własnym.
Bazy danych i XML 5355 dni, 12 godzin, 33 minuty temu 58 źrodło rozwiń
Postanowiłem spisać technologie, biblioteki, które używam w pracy z projektami ASP.NET MVC, ewentualnie “nowinki”, które zostały przetestowane w boju, ale ze względu na silną obsadę czekają na lepsze czasy i napewdno niedługo zostaną przeze mnie ponownie użyte. Oto one, zaczynająć od "pierwszego składu": ArchitekturaS#arp Architecture: podstawowy stack, który zawiera w sobie wszystko to, co potrzebne jest do stworzenia aplikacji ASP.NET MVC. Korzysta z Castle.Windsor co podmieniam na Ninject.NHibernate,...
Standardowe komunikaty w bibliotece NHibernate.Validator nie są zbyt przyjazne dla użytkownika. Można dostosować je do własnych potrzeb poprzez pliki zasobów.
Ayende pisze ostatnio na swoim blogu o przykładowej apllikacji w WPF używającej NHibernate o nazwie Effectus. Kod całej aplikacji można znaleźć na githubie. Moją uwagę zwrócił kod Bootstrappera, który zawiera ciekawy trick, a mianowicie serializowanie obiektu Configuration do pliku.
Bazy danych i XML 5426 dni, 4 godziny, 31 minut temu 109 źrodło rozwiń
W Oracle nie ma możliwości przechowywania wartości typu bool. Najbardziej powszechnym rozwiązaniem jest użycie kolumny typu CHAR(1) z wartościami 'Y' i 'N'. Autorzy NHibernate się na to przygotowali udostępniając typ YesNo. Mój przypadek był inny. Z bazy danych korzystała już aplikacja, która wartości typu bool zapisywała w kolumnach typu INT. Wartość true zdefiniowana była jako -1, wartość false - 0. Moja miała robić tak samo. Da radę. Tylko niestety trzeba się trochę napisać.
Bazy danych i XML 5437 dni, 11 godzin, 44 minuty temu 62 źrodło rozwiń
Może czasem się zdarzyć, że chcemy użyć NHibernate, jednak aplikacja korzysta z jakiegoś frameworka, który ma już swoją definicję połączenia z bazą danych. Po co więc w NHibernate ponownie konfigurować to samo połączenie, skoro można wykorzystać już istniejące.
Jednym z moich ulubionych narzędzi w systemie operacyjnym Linux jest apt. Aby zainstalować aplikację wystarczy w shellu wpisać apt-get install nazwa_aplikacji. Apt pobiera z repozytorium pakiet wraz z zależnościami i po krótkiej (lub dłuższej) chwili mamy aplikację gotową do uruchomienia. hornget jest takim apt dla programistów .NET. Dzięki niemu w prosty sposób można automatycznie uaktualnić binaria kilkunastu projektów używanych na codzień (m.in. NHibernate, NHContrib, MVCContrib, Rhino Tools).
Ostatnio przedstawiłem sposób konfiguracji i wykorzystania biblioteki NHibernate.Validator w aplikacji Windows.Forms. Po wypełnieniu formularza użytkownik otrzymywał jedynie informację, iż jest on wypełniony poprawnie/niepoprawnie. Warto byłoby oznaczyć błędnie wypełnione pola. W tym celu wykorzystam komponent ErrorProvider.
Wykorzystując bibliotekę NHibernate.Validator można w łatwy sposób poradzić sobie z walidacją obiektów w aplikacji desktopowej. Artykuł przedstawia przykład użycia biblioteki w aplikacji Windows Forms.