dotnetomaniak.pl - Artykuły z tagiem nHibarnatedotnetomaniak.pl - Artykuły z tagiem nHibarnate2024-03-28T23:37:53Zhttps://dotnetomaniak.pl/Tags/nHibarnateCopyright (c) dotnetomaniak.pldotnetomaniak.pl Atom Generatordotnetomaniak.pl webmasteradmin@dotnetomaniak.plhttps://dotnetomaniak.pl/Assets/Images/fav.icohttps://dotnetomaniak.pl/Assets/Images/dotnetomaniak_logo-negatyw_small.png16025https://dotnetomaniak.pl/Uzycie-NHibernate-w-aplikacji-ASPNET-Core-SoloProgramistaUżycie NHibernate w aplikacji ASP.NET Core - SoloProgramista2021-10-24T18:42:54Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_zSUtMBlma0CtJd_TR038Og.png"/></div><div>Narzędzia ORM są szeroko stosowane do wykonywania operacji na bazie danych. W tym artykule opiszę jak w prosty sposób użyć narzędzia NHibernate w projekcie ASP.NET Core.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Uzycie-NHibernate-w-aplikacji-ASPNET-Core-SoloProgramista"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fsoloprogramista.pl%2f2021%2f10%2f24%2fuzycie-nhibernate-w-aplikacji-asp-net-core%2f" style="border:0px"/></a></div></div>SoloProgramistahttps://dotnetomaniak.pl/Users/sBrU_O66FEmXie7gBAckHA2021-10-26T14:35:29Zhttps://dotnetomaniak.pl/Uzycie-NHibernate-w-aplikacji-ASPNET-Core-SoloProgramista2790Narzędzia ORM są szeroko stosowane do wykonywania operacji na bazie danych. W tym artykule opiszę jak w prosty sposób użyć narzędzia NHibernate w projekcie ASP.NET Core.https://soloprogramista.pl/2021/10/24/uzycie-nhibernate-w-aplikacji-asp-net-core/http://dotnetomaniak.pl/Data/Thumbnails/small_zSUtMBlma0CtJd_TR038Og.pnghttps://dotnetomaniak.pl/Transactional-Outbox-with-RabbitMQ-Building-Microservices-NET-CoreTransactional Outbox with RabbitMQ - Building Microservices | .NET Core2019-09-30T17:28:41Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_rU8XguScgUWGsLGLT7qeig.png"/></div><div>Outbox pattern is simple, yet powerful tool. Let’s see how does it work and what are the consequences of applying it.
With outbox, instead of sending a message over the wire to message broker, we save a message to our microservice database as part of current business transaction. This way we achieve internal consistency inside our service. No messages will be sent if a transaction is rolled back...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Transactional-Outbox-with-RabbitMQ-Building-Microservices-NET-Core"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2faltkomsoftware.pl%2fen%2fblog%2fmicroservices-outbox-rabbitmq%2f" style="border:0px"/></a></div></div>witek1902https://dotnetomaniak.pl/Users/0uwA-O2wAUCYI9VYUmqR6w2019-10-01T06:40:24Zhttps://dotnetomaniak.pl/Transactional-Outbox-with-RabbitMQ-Building-Microservices-NET-Core11360Outbox pattern is simple, yet powerful tool. Let’s see how does it work and what are the consequences of applying it.
With outbox, instead of sending a message over the wire to message broker, we save a message to our microservice database as part of current business transaction. This way we achieve internal consistency inside our service. No messages will be sent if a transaction is rolled back...https://altkomsoftware.pl/en/blog/microservices-outbox-rabbitmq/http://dotnetomaniak.pl/Data/Thumbnails/small_rU8XguScgUWGsLGLT7qeig.pnghttps://dotnetomaniak.pl/EN-EF-Core-21-vs-NHibernate-51-DDD-perspective-Enterprise-Craftsmanship[EN] EF Core 2.1 vs NHibernate 5.1: DDD perspective - Enterprise Craftsmanship2018-06-14T06:57:56Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_WhydmHAX1k6ZmNcionLZrg.png"/></div><div>This article renders the previousones obsolete (which they already were at this point anyway).
EF Core vs NHibernate: Preface
EF Core has made a lot of progress and it took me quite a while ...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/EN-EF-Core-21-vs-NHibernate-51-DDD-perspective-Enterprise-Craftsmanship"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fenterprisecraftsmanship.com%2f2018%2f06%2f13%2fef-core-vs-nhibernate-ddd-perspective%2f" style="border:0px"/></a></div></div>Piotr Stapphttps://dotnetomaniak.pl/Users/uYS8cHLZukmjW_DgdZuz0Q2018-06-21T15:41:43Zhttps://dotnetomaniak.pl/EN-EF-Core-21-vs-NHibernate-51-DDD-perspective-Enterprise-Craftsmanship31310This article renders the previousones obsolete (which they already were at this point anyway).
EF Core vs NHibernate: Preface
EF Core has made a lot of progress and it took me quite a while ...https://enterprisecraftsmanship.com/2018/06/13/ef-core-vs-nhibernate-ddd-perspective/http://dotnetomaniak.pl/Data/Thumbnails/small_WhydmHAX1k6ZmNcionLZrg.pnghttps://dotnetomaniak.pl/EN-Validating-fields-of-NHibernate-model-CEZARY-PIATEK[EN] Validating fields of NHibernate model · CEZARY PIĄTEK2018-04-16T21:01:43Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_3XU0kZ2fEEabgSJymBtXIw.png"/></div><div>Recently I’ve had occasion to work much more than usually with NHibernate. This is a really great ORM and a very mature project, but when you make a mistake it informs you about that in a very generic way (in most cases). The problem that hunted me for a few days was the issue with field length constrains (which was caused by insufficient and inconsistent REST API validation). When there was a discrepancy between declared field length in NHibernate mapping and validation logic (or the vali...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/EN-Validating-fields-of-NHibernate-model-CEZARY-PIATEK"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fcezarypiatek.github.io%2fpost%2fvalidate-fields-in-nhibernate-model%2f" style="border:0px"/></a></div></div>cezarypiatekhttps://dotnetomaniak.pl/Users/OxvLOFvDMk2cm_fdr4hd-Q2018-04-24T06:12:36Zhttps://dotnetomaniak.pl/EN-Validating-fields-of-NHibernate-model-CEZARY-PIATEK4480Recently I’ve had occasion to work much more than usually with NHibernate. This is a really great ORM and a very mature project, but when you make a mistake it informs you about that in a very generic way (in most cases). The problem that hunted me for a few days was the issue with field length constrains (which was caused by insufficient and inconsistent REST API validation). When there was a discrepancy between declared field length in NHibernate mapping and validation logic (or the vali...https://cezarypiatek.github.io/post/validate-fields-in-nhibernate-model/http://dotnetomaniak.pl/Data/Thumbnails/small_3XU0kZ2fEEabgSJymBtXIw.pnghttps://dotnetomaniak.pl/NHibernate-Automatycznie-sprawdz-czy-%E2%80%9Aproperties-sa-virtual-Notatnik-Soltysa[NHibernate] Automatycznie sprawdź czy ‚properties’ są virtual – Notatnik Sołtysa2016-07-24T15:41:45Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_XFf7_B_ua0utTrv5uKiN8Q.png"/></div><div>NHibernate wymaga od programisty, aby wszystkie Properties (właściwości) wewnątrz Enitity (encji / klasy POCO) były oznaczone słowem kluczowym virtual.
Jak zrobić, aby automatycznie sprawdzać czy wszystkie properties spełniają wymagania? Wykorzystać Unit Testy!</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/NHibernate-Automatycznie-sprawdz-czy-%E2%80%9Aproperties-sa-virtual-Notatnik-Soltysa"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.soltysiak.it%2f2016%2f07%2fnhibernate-automatycznie-sprawdz-czy-properties-sa-virtual%2f" style="border:0px"/></a></div></div>Paweł Sołtysiakhttps://dotnetomaniak.pl/Users/4Omb8jTwF0KDvM4YYUs8wQ2016-08-02T08:47:26Zhttps://dotnetomaniak.pl/NHibernate-Automatycznie-sprawdz-czy-%E2%80%9Aproperties-sa-virtual-Notatnik-Soltysa1730NHibernate wymaga od programisty, aby wszystkie Properties (właściwości) wewnątrz Enitity (encji / klasy POCO) były oznaczone słowem kluczowym virtual.
Jak zrobić, aby automatycznie sprawdzać czy wszystkie properties spełniają wymagania? Wykorzystać Unit Testy!http://blog.soltysiak.it/2016/07/nhibernate-automatycznie-sprawdz-czy-properties-sa-virtual/http://dotnetomaniak.pl/Data/Thumbnails/small_XFf7_B_ua0utTrv5uKiN8Q.pnghttps://dotnetomaniak.pl/Walidacja-danych-w-nHibernate-ewolucja-postepowania-w-czasie-Wojtek-Pitek-about-devWalidacja danych w nHibernate – ewolucja postępowania w czasie | Wojtek Pitek about dev2014-11-27T00:30:26Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_z-OfgPfjOkSR7PaONgsYZg.png"/></div><div>Niedawno byłem zmuszony do powrotu do kodu, który kiedyś współtworzyłem. Musiałem dołożyć pewną w gruncie rzeczy drobną funkcjonalność. Nie sprawiło to mi większych problemów, ale samo obcowanie z tym kodem skłoniło mnie do refleksji. Dopiero porównując tamten kod (z którego byłem przecież dumny jak paw) z kodem dzisiejszym widzę różnicę (ciekawe co powiem za kilka lat o obecnym kodzie). Różnicę w sobie samym. Widzę jak przez ostatnie dwa lata się zmieniłem (ale to temat na inny post). Moją szczegó...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Walidacja-danych-w-nHibernate-ewolucja-postepowania-w-czasie-Wojtek-Pitek-about-dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.wojciechpitek.com%2f2014%2f11%2f27%2fwalidacja-danych-w-nhibernate-ewolucja-postepowania-w-czasie%2f" style="border:0px"/></a></div></div>wopihttps://dotnetomaniak.pl/Users/I4ZeVCc6Ukq-YOFRSaOhxA2014-12-04T01:53:14Zhttps://dotnetomaniak.pl/Walidacja-danych-w-nHibernate-ewolucja-postepowania-w-czasie-Wojtek-Pitek-about-dev21350Niedawno byłem zmuszony do powrotu do kodu, który kiedyś współtworzyłem. Musiałem dołożyć pewną w gruncie rzeczy drobną funkcjonalność. Nie sprawiło to mi większych problemów, ale samo obcowanie z tym kodem skłoniło mnie do refleksji. Dopiero porównując tamten kod (z którego byłem przecież dumny jak paw) z kodem dzisiejszym widzę różnicę (ciekawe co powiem za kilka lat o obecnym kodzie). Różnicę w sobie samym. Widzę jak przez ostatnie dwa lata się zmieniłem (ale to temat na inny post). Moją szczegó...http://www.wojciechpitek.com/2014/11/27/walidacja-danych-w-nhibernate-ewolucja-postepowania-w-czasie/http://dotnetomaniak.pl/Data/Thumbnails/small_z-OfgPfjOkSR7PaONgsYZg.pnghttps://dotnetomaniak.pl/EN-NHhibernate-multiple-queries-in-one-roundtrip-to-server[EN] NHhibernate - multiple queries in one roundtrip to server2014-05-10T13:23:40Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_hvwDFC7hWEmoXwIWHYchNQ.png"/></div><div>Usually when we need to retrieve data from database server, we write code which looks like that
using (var session = DataAccesLayer.Instance.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
var projects = session.QueryOver</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/EN-NHhibernate-multiple-queries-in-one-roundtrip-to-server"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2ftomasz-net.blogspot.com%2f2014%2f04%2fnhhibernate-multiple-queries-in-one.html" style="border:0px"/></a></div></div>nocturnhttps://dotnetomaniak.pl/Users/Hsun4SFUi0ajPUiWvCP7Tw2014-05-19T14:58:30Zhttps://dotnetomaniak.pl/EN-NHhibernate-multiple-queries-in-one-roundtrip-to-server11180Usually when we need to retrieve data from database server, we write code which looks like that
using (var session = DataAccesLayer.Instance.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
var projects = session.QueryOverhttp://tomasz-net.blogspot.com/2014/04/nhhibernate-multiple-queries-in-one.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_hvwDFC7hWEmoXwIWHYchNQ.pnghttps://dotnetomaniak.pl/Programistka-i-kot-nHibernate-named-queriesProgramistka i kot: nHibernate named queries2011-04-10T19:57:30Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_E1s-TzKNt0SVSgUXQUi9eQ.png"/></div><div>nHibernate named queries
Czasem wymagania biznesowe skłaniają programistów do tworzenia bardzo skomplikowanych powiązań między obiektami / zapytań.
Aby mieć je w jakimś 'przewidywalnym miejscu a nie rozrzucone po kodzie możemy użyć w mappingu.
Query jest niezależne od Class.
from Subject s
where s.Name like :name
Wywołanie mogło by być w ten deseń:
IQuery query = Session.GetNamedQuery("qSubjectByName");
query.SetParameter("name","SomeName");
var list = query.List();
Ale co jeśli...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Programistka-i-kot-nHibernate-named-queries"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fjlfedra.blogspot.com%2f2011%2f03%2fnhibernate-named-queries.html" style="border:0px"/></a></div></div>Paweł Łukasikhttps://dotnetomaniak.pl/Users/lI7X-wDfeE2RoUfuiihoOg2011-04-20T06:42:36Zhttps://dotnetomaniak.pl/Programistka-i-kot-nHibernate-named-queries21320nHibernate named queries
Czasem wymagania biznesowe skłaniają programistów do tworzenia bardzo skomplikowanych powiązań między obiektami / zapytań.
Aby mieć je w jakimś 'przewidywalnym miejscu a nie rozrzucone po kodzie możemy użyć w mappingu.
Query jest niezależne od Class.
from Subject s
where s.Name like :name
Wywołanie mogło by być w ten deseń:
IQuery query = Session.GetNamedQuery("qSubjectByName");
query.SetParameter("name","SomeName");
var list = query.List();
Ale co jeśli...http://jlfedra.blogspot.com/2011/03/nhibernate-named-queries.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_E1s-TzKNt0SVSgUXQUi9eQ.pnghttps://dotnetomaniak.pl/Dario-G-FluentNHibernate-i-konwencja-PrimaryKeyDario-G | FluentNHibernate i konwencja PrimaryKey2011-03-09T06:16:36Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_4epbqkRdI0WBCZRG_PIzwQ.png"/></div><div>Od pewnego czasu zamiast stosowania mapowań za pomocą plików XML zacząłem używać FluentNHibernate. Mimo początkowego sceptycznego podejścia przełamałem się, a dobitnie nastąpiło to wtedy, kiedy zacząłem używać konwencji.
Jedną z fajniejszych, która odrazu spowodowała pozytywne nastawienie do FNH jest konwencja IIdConvention. Pozwala na zautomatyzowanie mapowania klucza głównego. Dlaczego? Od zawsze stosuję klucze pojedyncze oparte na typie int lub long, gdzie wartość jest wyliczana algorytmem hilo. Otóż ni...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Dario-G-FluentNHibernate-i-konwencja-PrimaryKey"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fdario-g.com%2fpost%2fFluentNHibernate-i-konwencja-PrimaryKey.aspx" style="border:0px"/></a></div></div>gordon_shumwayhttps://dotnetomaniak.pl/Users/wjP7BbkPN0ic2_NSb2G06Q2011-03-18T19:59:38Zhttps://dotnetomaniak.pl/Dario-G-FluentNHibernate-i-konwencja-PrimaryKey11110Od pewnego czasu zamiast stosowania mapowań za pomocą plików XML zacząłem używać FluentNHibernate. Mimo początkowego sceptycznego podejścia przełamałem się, a dobitnie nastąpiło to wtedy, kiedy zacząłem używać konwencji.
Jedną z fajniejszych, która odrazu spowodowała pozytywne nastawienie do FNH jest konwencja IIdConvention. Pozwala na zautomatyzowanie mapowania klucza głównego. Dlaczego? Od zawsze stosuję klucze pojedyncze oparte na typie int lub long, gdzie wartość jest wyliczana algorytmem hilo. Otóż ni...http://dario-g.com/post/FluentNHibernate-i-konwencja-PrimaryKey.aspxhttp://dotnetomaniak.pl/Data/Thumbnails/small_4epbqkRdI0WBCZRG_PIzwQ.pnghttps://dotnetomaniak.pl/NHibernate-Fluent-NHibernate-%C5%82%C4%85czenie-z-baz%C4%85-danych-i-kreowanie-jej-schematu-Grzegorz-Wodniczak[NHibernate] Fluent NHibernate – łączenie z bazą danych i kreowanie jej schematu « Grzegorz Wodniczak2011-01-10T06:15:48Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_5LlS2v78jkSb4jLN9ROnXg.png"/></div><div>Celem mojego pierwszego wpisu dotyczącego NHibernate było krótkie wprowadzenie w świat tego ORM’a. Dziś przyszedł czas na trochę praktyki. Zaczniemy od prostej konfiguracji aplikacji (konsolowej), aby ta mogła połączyć się z bazą danych oraz automatycznie utworzyć w niej przykładową tabelę. Wykorzystamy do tego celu bibliotekę Fluent NHibernate, dzięki której, w przeciwieństwie do standardowej konfiguracji wykorzystującej pliki XML znanej z oryginalnego Hibernate’a, skonfigurujemy wszystko z poziomu kodu C#.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/NHibernate-Fluent-NHibernate-%C5%82%C4%85czenie-z-baz%C4%85-danych-i-kreowanie-jej-schematu-Grzegorz-Wodniczak"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fvebaspect.wordpress.com%2f2011%2f01%2f08%2fnhibernate-fluent-nhibernate-laczenie-z-baza-danych-i-kreowanie-jej-schematu%2f" style="border:0px"/></a></div></div>gordon_shumwayhttps://dotnetomaniak.pl/Users/wjP7BbkPN0ic2_NSb2G06Q2011-01-19T23:55:45Zhttps://dotnetomaniak.pl/NHibernate-Fluent-NHibernate-%C5%82%C4%85czenie-z-baz%C4%85-danych-i-kreowanie-jej-schematu-Grzegorz-Wodniczak11750Celem mojego pierwszego wpisu dotyczącego NHibernate było krótkie wprowadzenie w świat tego ORM’a. Dziś przyszedł czas na trochę praktyki. Zaczniemy od prostej konfiguracji aplikacji (konsolowej), aby ta mogła połączyć się z bazą danych oraz automatycznie utworzyć w niej przykładową tabelę. Wykorzystamy do tego celu bibliotekę Fluent NHibernate, dzięki której, w przeciwieństwie do standardowej konfiguracji wykorzystującej pliki XML znanej z oryginalnego Hibernate’a, skonfigurujemy wszystko z poziomu kodu C#.http://vebaspect.wordpress.com/2011/01/08/nhibernate-fluent-nhibernate-laczenie-z-baza-danych-i-kreowanie-jej-schematu/http://dotnetomaniak.pl/Data/Thumbnails/small_5LlS2v78jkSb4jLN9ROnXg.pnghttps://dotnetomaniak.pl/NET-Adventure-with-reVis-NHibernate-3-i-QueryOver-API.NET Adventure with reVis: NHibernate 3 i QueryOver API2010-12-16T08:54:32Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Pwf0Qgj-Dkav42saiV5KVQ.png"/></div><div>Całkiem niedawno pojawiła się nowa wersja NHibernate oznaczona numerem 3. Informacje co, gdzie i jak uległo zmianie można oczywiście znaleźć na głównej stronie projektu. Mi z tych wszystkich nowości najbardziej przypadło do gustu nowe API do wykonywania zapytań czyli QueryOver.
Ale zacznijmy od początku. Wykonując zapytanie do bazy danych z poziomu NHibernate 2 mieliśmy do dyspozycji 4 możliwości:
wywołanie metod Get/Loadzapytanie HQLużycie Criteria APIzapytania SQL
Każda z nich ma swoje unikalne zalety ...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/NET-Adventure-with-reVis-NHibernate-3-i-QueryOver-API"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2frevis-dev.blogspot.com%2f2010%2f12%2fnhibernate-3-i-queryover-api.html" style="border:0px"/></a></div></div>Paweł Łukasikhttps://dotnetomaniak.pl/Users/lI7X-wDfeE2RoUfuiihoOg2010-12-24T21:15:57Zhttps://dotnetomaniak.pl/NET-Adventure-with-reVis-NHibernate-3-i-QueryOver-API21260Całkiem niedawno pojawiła się nowa wersja NHibernate oznaczona numerem 3. Informacje co, gdzie i jak uległo zmianie można oczywiście znaleźć na głównej stronie projektu. Mi z tych wszystkich nowości najbardziej przypadło do gustu nowe API do wykonywania zapytań czyli QueryOver.
Ale zacznijmy od początku. Wykonując zapytanie do bazy danych z poziomu NHibernate 2 mieliśmy do dyspozycji 4 możliwości:
wywołanie metod Get/Loadzapytanie HQLużycie Criteria APIzapytania SQL
Każda z nich ma swoje unikalne zalety ...http://revis-dev.blogspot.com/2010/12/nhibernate-3-i-queryover-api.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_Pwf0Qgj-Dkav42saiV5KVQ.pnghttps://dotnetomaniak.pl/RS-NHibernate-klasa-bazowa-testu[RS] NHibernate - klasa bazowa testu2010-09-30T11:15:25Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_ihHQxyqO-0m73nDRxVWTRA.png"/></div><div>Podczas prac związanych ze statystykami zauważyłem, że przy okazji pisania kolejnych testów dla obiektów repozytoriów powielam kod odpowiedzialny za przygotowanie bazy SQLite. Jak nakazuje dobry obyczaj, powtarzający się kod należy wydzielić.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/RS-NHibernate-klasa-bazowa-testu"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fdubrownik.posterous.com%2frs-nhibernate-klasa-bazowa-testu" style="border:0px"/></a></div></div>jdubrownikhttps://dotnetomaniak.pl/Users/IpMgZXyDNUWdUr0ZbsKg4Q2010-10-04T04:12:02Zhttps://dotnetomaniak.pl/RS-NHibernate-klasa-bazowa-testu1380Podczas prac związanych ze statystykami zauważyłem, że przy okazji pisania kolejnych testów dla obiektów repozytoriów powielam kod odpowiedzialny za przygotowanie bazy SQLite. Jak nakazuje dobry obyczaj, powtarzający się kod należy wydzielić.http://dubrownik.posterous.com/rs-nhibernate-klasa-bazowa-testuhttp://dotnetomaniak.pl/Data/Thumbnails/small_ihHQxyqO-0m73nDRxVWTRA.pnghttps://dotnetomaniak.pl/RS-NHibernate-w-praktyce-cz%C4%99%C5%9B%C4%87-1[RS] NHibernate w praktyce (część 1)2010-09-26T14:04:35Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_kauFtUBycEu54kSCZBMp4g.png"/></div><div>Od pewnego czasu odgrażałem się, że napiszę kilka zapytań przy użyciu NHibernate. Teraz nadszedł ten czas. Za materiał treningowy posłużą mi wcześniej opisywane statystyki. Metodyka pisania zapytań jest następująca: najpierw SQL, później zapytanie w NH. Ma to na celu pokazanie w jaki sposób można przekładać T-SQL na język zapytań NH (w tym przypadku Criteria API).</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/RS-NHibernate-w-praktyce-cz%C4%99%C5%9B%C4%87-1"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fdubrownik.posterous.com%2frs-nhibernate-w-praktyce-czesc-1" style="border:0px"/></a></div></div>jdubrownikhttps://dotnetomaniak.pl/Users/IpMgZXyDNUWdUr0ZbsKg4Q2010-09-29T12:34:08Zhttps://dotnetomaniak.pl/RS-NHibernate-w-praktyce-cz%C4%99%C5%9B%C4%87-131130Od pewnego czasu odgrażałem się, że napiszę kilka zapytań przy użyciu NHibernate. Teraz nadszedł ten czas. Za materiał treningowy posłużą mi wcześniej opisywane statystyki. Metodyka pisania zapytań jest następująca: najpierw SQL, później zapytanie w NH. Ma to na celu pokazanie w jaki sposób można przekładać T-SQL na język zapytań NH (w tym przypadku Criteria API).http://dubrownik.posterous.com/rs-nhibernate-w-praktyce-czesc-1http://dotnetomaniak.pl/Data/Thumbnails/small_kauFtUBycEu54kSCZBMp4g.pnghttps://dotnetomaniak.pl/Generyczne-repozytorium-z-NHibernateGeneryczne repozytorium z NHibernate2010-09-17T08:56:39Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_gFNnjYkpWEup5WdpNJORvw.png"/></div><div>Przeglądając istniejący kod i planując utworzenie kolejnych obiektów repozytoriów doszedłem do wniosku, że warto zaoszczędzić sobie trochę czasu i napisać uniwersalny (na ile to możliwe) obiekt bazowy repozytorium. Obiekt ten powinien zawierać podstawowe metody manipulacji i dostępu do danych. Dużym ułatwieniem jest to, że wszystkie obiekty dziedziny dziedziczą po obiekcie Entity (przed refaktoringiem BaseEntity), który zawiera pole Id z bazy danych oraz ważną z punktu widzenia NH implementacje metod Equals i GetHashcode. Dlaczego ważną? Odsyłam do tego wpisu. Co w takim razie powinno zawierać takie uniwersalne repozytorium?</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Generyczne-repozytorium-z-NHibernate"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fdubrownik.posterous.com%2frs-generyczne-repozytorium-z-nhibernate" style="border:0px"/></a></div></div>jdubrownikhttps://dotnetomaniak.pl/Users/IpMgZXyDNUWdUr0ZbsKg4Q2010-09-20T15:03:44Zhttps://dotnetomaniak.pl/Generyczne-repozytorium-z-NHibernate2620Przeglądając istniejący kod i planując utworzenie kolejnych obiektów repozytoriów doszedłem do wniosku, że warto zaoszczędzić sobie trochę czasu i napisać uniwersalny (na ile to możliwe) obiekt bazowy repozytorium. Obiekt ten powinien zawierać podstawowe metody manipulacji i dostępu do danych. Dużym ułatwieniem jest to, że wszystkie obiekty dziedziny dziedziczą po obiekcie Entity (przed refaktoringiem BaseEntity), który zawiera pole Id z bazy danych oraz ważną z punktu widzenia NH implementacje metod Equals i GetHashcode. Dlaczego ważną? Odsyłam do tego wpisu. Co w takim razie powinno zawierać takie uniwersalne repozytorium?http://dubrownik.posterous.com/rs-generyczne-repozytorium-z-nhibernatehttp://dotnetomaniak.pl/Data/Thumbnails/small_gFNnjYkpWEup5WdpNJORvw.pnghttps://dotnetomaniak.pl/Programistka-i-kot-POCOProgramistka i kot: POCO2009-10-22T07:21:33Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_geAkE0oW1kWSRg9E6cQ6SA.png"/></div><div>Ostatnio wrzuci mnie w projekcik z którym z woli klienta dostęp do bazy realizowany jest z wykorzystaniem nHibernata
Troche więc o nHibernacie aby nie umkneło na przyszłość.
Na początek
POCO = Plain Old CLR Object
Czyli proste niezwiązane klasy zawierające zazwyczaj proste property.
NHibernate nie wymaga nawet aby klasa była serializowalna wymaga jedynie domyślnego bezparametrowego konstruktora oraz publicznych property wyrażających asocjacje między klasami POCO.
Klasy POCO są reprezentacją mod...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Programistka-i-kot-POCO"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fjlfedra.blogspot.com%2f2009%2f09%2fpoco.html" style="border:0px"/></a></div></div>Paweł Łukasikhttps://dotnetomaniak.pl/Users/lI7X-wDfeE2RoUfuiihoOg2009-10-24T11:03:56Zhttps://dotnetomaniak.pl/Programistka-i-kot-POCO1650Ostatnio wrzuci mnie w projekcik z którym z woli klienta dostęp do bazy realizowany jest z wykorzystaniem nHibernata
Troche więc o nHibernacie aby nie umkneło na przyszłość.
Na początek
POCO = Plain Old CLR Object
Czyli proste niezwiązane klasy zawierające zazwyczaj proste property.
NHibernate nie wymaga nawet aby klasa była serializowalna wymaga jedynie domyślnego bezparametrowego konstruktora oraz publicznych property wyrażających asocjacje między klasami POCO.
Klasy POCO są reprezentacją mod...http://jlfedra.blogspot.com/2009/09/poco.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_geAkE0oW1kWSRg9E6cQ6SA.pnghttps://dotnetomaniak.pl/Programistka-i-kot-nHibernate-associations-introductionProgramistka i kot: nHibernate associations introduction2009-10-22T07:20:16Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_t9XQyE1nokCtMWVHA3cO-g.png"/></div><div>Mapowanie relacji pomiędzy tabelami na asocjacje klas to dusza ORMow.
To przy okazji najbardziej problematyczne zagadnienie.
Zagadnienie relacji jest szerokie jak rzeka i nie sposób opisać wszystkich przypadków. Najważniejsze z mojego punktu widzenia jest jednak zrozumieć sedno sprawy, zrozumienia tego brakowało przy moich pierwszych próbach i przyznam że zjadło mi to wiele godzin.
Dzięki zastosowaniu klas POCO możemy posługiwać się niedostępnymi dla modelu DataSetów kolekcjami i powiązaniami mię...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Programistka-i-kot-nHibernate-associations-introduction"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fjlfedra.blogspot.com%2f2009%2f09%2fnhibernate-associations-introduction.html" style="border:0px"/></a></div></div>Paweł Łukasikhttps://dotnetomaniak.pl/Users/lI7X-wDfeE2RoUfuiihoOg2009-10-24T11:03:56Zhttps://dotnetomaniak.pl/Programistka-i-kot-nHibernate-associations-introduction1480Mapowanie relacji pomiędzy tabelami na asocjacje klas to dusza ORMow.
To przy okazji najbardziej problematyczne zagadnienie.
Zagadnienie relacji jest szerokie jak rzeka i nie sposób opisać wszystkich przypadków. Najważniejsze z mojego punktu widzenia jest jednak zrozumieć sedno sprawy, zrozumienia tego brakowało przy moich pierwszych próbach i przyznam że zjadło mi to wiele godzin.
Dzięki zastosowaniu klas POCO możemy posługiwać się niedostępnymi dla modelu DataSetów kolekcjami i powiązaniami mię...http://jlfedra.blogspot.com/2009/09/nhibernate-associations-introduction.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_t9XQyE1nokCtMWVHA3cO-g.png