Explicit loading w Entity Framework

Explicit loading w Entity Framework daje możliwość ręcznego kontrolowania interakcji z bazą danych. Dzięki temu właściwie w każdym momencie możemy zażądać załadowania danych a Entity Framework to wykona. Mechanizm ten może być używany razem z lazy i eager loading opisanymi tutaj albo je w ogóle zastąpić.

Continue reading


Eager Loading w Entity Framework

Eager loading w platformach ORM opisałem we wpisie Lazy loading i eager loading. W tym wpisie opiszę jak użyć eager loading w Entity Framework. Pokażę również jak użycie eager loading przekłada się na zapytania do bazy danych. W przykładach będę używał konfiguracji z bazą danych PostgreSQL, którą opisałem w tym wpisie.

Continue reading


Lazy loading w Entity Framework

Koncepcję lazy loading w platformach ORM opisałem we wpisie Lazy loading i eager loading. W tym wpisie pokażę przykłady użycia lazy loading w Entity Framework. Pokażę również jakie zapytania są wysyłane do bazy danych. W przykładach będę używał konfiguracji z PostgreSQL, którą opisałem we wpisie: Entity Framework i Postgresql.

Continue reading


Lazy loading i eager loading – ORM

Platformy ORM (takie jak Entity Framework i NHibernate) pozwalają nam pracować z relacyjną bazą danych przy użyciu obiektów, a relacje między tabelami reprezentowane są w obiektach jako referencje do innych obiektów albo kolekcji. Podczas pobierania danych z bazy tworzone są obiekty, z odpowiednio wypełnionymi wartościami. Systemy ORM dają nam dwa możliwe tryby pobierania danych z bazy: lazy loading i eager loading. W tym wpisie opiszę jak działają te tryby i jakie są między nimi różnice.

Continue reading


Posted in .NET, Programming | Tagged | Możliwość komentowania Lazy loading i eager loading – ORM została wyłączona

OpenAccess ORM

OpenAcess ORM stworzony przez Telerika jest kolejnym po Entity Framework i NHibernate systemem ORM dla .NET. OpenAccess jest rozbudowaną aplikacją, ale w tym wpisie ograniczę się tylko na podejściu ‚code first’, czyli najpierw piszemy kod a baza zostanie wygenerowana automatycznie. Stworzę podobny przykład jak we wpisie Entity Framework i PostgreSQL.

Continue reading


NHibernate.Mapping.Attributes

NHibernate używa do mapowania modelu plików XML, Fluent NHibernate zamienił pliki XML na zwykły kod, NHibernate.Mapping.Attributes wprowadza kolejne udogodnienie – tworzenie mapowania za pomocą atrybutów już podczas definiowania modelu. Brzmi fajnie, zobaczmy jak to wygląda w praktyce…

Continue reading


hbm2ddl – przydatne narzędzie w NHibernate

Co to jest hbm2ddl?

hbm2ddl jest narzędziem wchodzącym w skład pakietu NHibernate . Służy ono do tworzenia, aktualizacji i sprawdzenia poprawności bazy danych na podstawie modelu. Niestety dokumentacja do niego jest dość uboga… Wspominałem o nim przy okazji wpisów na temat konfiguracji NHibernate i PostgreSQL i opisu Fluent NHibernate . W tym wpisie pokażę kilka przykładów jak można wykorzystać hbm2ddl.

Continue reading


Fluent NHibernate – NHibernate bez XML

Przy okazji wpisu o konfiguracji NHibernate i PostgreSQL stwierdziłem, że tradycyjny sposób mapowania modelu za pomocą plików XML jest mniej wygodny niż ten używany w Entity Framework. Narzędziem, które ma usprawnić korzystanie z NHibernate jest Fluent NHibernate. Zobaczmy jak nasz przykład będzie wyglądał przy użyciu Fluent NHibernate.

Continue reading


Entity Framework i PostgreSQL

Nie znalazłem nigdzie opisu po polsku jak używać Entity Framework z PostgreSQL, postanowiłem opisać moje próby. W dużej części ten opis bazuje na anglojęzycznym opisie Brice’a Lambsona „Entity Framework on PostgreSQL”.

Do połączenia PostgreSQL z Entity Frameworkiem użyjemy data providera Npgsql. Niestety nie wspiera on tworzenia bazy, musimy ją stworzyć ręcznie. Z kronikarskiego obowiązku muszę też wspomnieć, że istnieje jeszcze jeden data provider dla Postgresql – Devart dotConnect for PostgreSQL jest to produkt komercyjny i wydaje się bardziej rozbudowany niż Npgsql.

Continue reading