When working with ORMs in C#, selecting columns is often neglected, and it may not seem very important at first glance. However, selecting unnecessary data can pose other threats beyond just sending more data through the network. In this post, I will explore these threats.
Bazy danych i XML 548 dni, 21 godzin, 24 minuty temu 84 źrodło rozwiń
W tym artykule opisuję, jak zaimplementować tryb Live Demo w aplikacji ASP.NET Core i Blazor z wykorzystaniem Sqlite i NHibernate.
W artykule przedstawiam plusy i minusy wykorzystania ORM NHibernate (NH) w aplikacji SaaS. Jest to spojrzenie z perspektywy SoloProgramisty,
Sztuka programowania 1112 dni, 19 godzin, 58 minut temu 35 źrodło rozwiń
tym razem case z nhibernate - o tym że czasami można "ile fabryka dała" i nie więcej.
Sztuka programowania 2268 dni, 23 godziny, 50 minut temu 38 źrodło rozwiń
Projektując bazę danych, z którą będzie komunikować się nasza aplikacja, natrafiamy czasem na przypadki, w których warto zastosować dziedziczenie między klasami encyjnymi. Pracując z popularną biblioteką NHibernate mamy do dyspozycji kilka sposobów na zamodelowanie takiej sytuacji. Trzeba jednak uważać na to, by przy okazji nie wpaść w nieoczekiwaną pułapkę.
Daj się poznać 2017 2818 dni, 11 godzin, 20 minut temu 97 źrodło rozwiń
Wykorzystujesz NHibernate do utworzenia struktury bazy danych? Ja tak robię. NHibernate utworzy dla ciebie na podstawie mapowania tabele. Ale gdy chcesz utworzyć coś specjalnego, obiekt bazodanowy korzystając z zapytania SQL interpretowanego tylko przez określone bazy danych, wtedy z pomocą może przyjść ...
Bazy danych i XML 2989 dni, 38 minut temu 143 źrodło rozwiń
Jak pisałem poprzednio o problemie braku milisekund w dacie. Wspomniałem o tym, że tabele posiadają kolumnę informującą o ostatniej zmianie, która nastąpiła na rekordzie. Można się domyślić, że ręczne ustawianie tej wartości było by mozolne oraz podatne na błędy ( w szczególności – zapomnienie o wstawieniu nowej wartości)
Bazy danych i XML 3011 dni, 44 minuty temu 161 źrodło rozwiń
Chcesz logować SQL generowany przez NHibernate do pliku? Przejdę od razu do konkretów. Potrzeba klasy NLogFactory, która będzie tworzyła instancje Loggera.
Bazy danych i XML 3025 dni, 23 godziny, 23 minuty temu 106 źrodło rozwiń
Warning: this post won't be about "boring" or "typical" algorithms from Computer Science which we all have learned on studies (like quick sort, merge sort, xxx sort, A*, FFT). Instead, this will be about other little-known, especially USEFUL algorithms, which people working as professional developers should know or heard of. Little-known. ID generation problems are usually overlooked. Database ID's I mean. Ask someone to name ID "types". Well, GUID, newsequentialid...
Sztuka programowania 3195 dni, 19 godzin, 41 minut temu 116 źrodło rozwiń
Nieuchronnie zbliża się moment, w którym aplikacja, za którą jestem współodpowiedzialny zostanie opublikowana i zacznie działać u klienta. Lubię ten moment bo jest to ostateczna weryfikacja naszej pracy. Zdaje sobie jednak sprawę, że wiąże się to z wprowadzeniem pewnych dodatkowych funkcjonalności w aplikacji, które w fazie rozwojowej są (całkowicie?) zbędne. I właśnie jedyną z takich funkcjonalności chciałem omówić a konkretnie migrację bazy danych. Pamiętam jak dziś moment, w którym oddaliśmy (na...
Sztuka programowania 3653 dni, 32 minuty temu 201 źrodło rozwiń
Let's assume that we have a simple table GL_Task which looks like this I was asked to rewrite simple SQL query SELECT Id,Name,IdProject FROM GL_Task WHERE Name = 'First task' OR Id IN (3,4 /more id's to come/) using NHibernate's QueryOver API. As simple as it may seem, solution for this particular problem is not straightforward. My first (not so clever) attempt was simply combining WhereRestrictionOn and Where clause var result = session.QueryOver
Pytanie “przechowywać, czy nie przechowywać” pojawia się praktycznie przy okazji każdego projektu, w którym trzeba przesłać coś więcej niż proste formy do i od użytkownika. Szkoły są dwie (plus hybryda, o czym za chwilę), jednak wybór, która w danym wypadku jest najlepsza zależy w dużej mierze od specyfiki samej aplikacji oraz rozwiązań technicznych użytych w projekcie.
Sztuka programowania 4122 dni, 9 godzin, 56 minut temu 192 źrodło rozwiń
Writing mappings for models in large application is quite boring task. Fortunatelly, Fluent NHibernate provides possibility for automatic mapping creation - so called automappings.
20.03.2013 Średnio raz w miesiącu NHibernate doprowadza mnie do białej gorączki wyjątkiem: System.Transactions.TransactionAbortedException: The transaction has aborted. ---> System.Data.SqlTypes.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. Powodem powstania tego wyjątku jest niewypełnienie (lub błąd w definicji mapowania) właściwości DateTime obiektu biznesowego zapisywanego do bazy danych. Problem w tym, że treść tego komunikatu jest tak ogó...
Sztuka programowania 4253 dni, 7 godzin, 25 minut temu 156 źrodło rozwiń
Jeżeli korzystasz z NHibernate i Json.NET i chcesz bezpośrednio serializować obiekty biznesowe pobrane z bazy danych przy użyciu NHibernate do formatu JSON to bardzo szybko napotkasz na problem w postaci wyjątku: Error getting value from 'ReadOnly' on 'NHibernate.Proxy.DefaultLazyInitializer'. Problem ten powstaje w momencie gdy próbujesz serializować encję pobraną przez NHibernate, która posiada niezainicjowane wiązania z innymi encjami (obiekty proxy do obsługi lazy loading). Klasa serializująca prze...
Architektura 4265 dni, 16 godzin, 14 minut temu 116 źrodło rozwiń
In one of my companies on of the first tasks was to create appllication, that will show which ORM will be the best choice for my team ( in terms of performance, support and features). Main focus of this task was performance. My company has a online shop that is generating a huge ammout of queries. This was an important task, because we planned to redesign whole project with ORM in order to improve efficiency and get rid off all the complex stored procedures with business logic. I selected...
Bazy danych i XML 4325 dni, 18 godzin, 16 minut temu 223 źrodło rozwiń
Przy korzystaniu z nHibernete'a czasem zachodzi potrzeba, aby prócz tabel, które są mapowane z obiektów mieć jakieś dodatkowe. Ja ostatnio miałem taką potrzebę w związku z Quartz.NET, który ma możliwość przechowywania swoich triggerów i akcji w bazie w przypadku, gdy powinny przeżyć restart puli aplikacji.
Nie taki straszny ten nhibernate jak się początkowo wydaje. Wiem bo sam sprawdziłem, na początku myślałem, znowu wszystko w xml, nigdy nie wiadomo co i gdzie wpisać, ... Nie tym razem, wystarczy obejrzeć sobie ten prosty wstęp i okazuje się, że podłączenie nh do lokalnego pliku z sqlce jest proste. Chcesz korzystać z postgresql jako bazy danych, nic skomplikowanego. Zacznij od ściągnięcia paczki nhibernate. Następnie rozpakuj na dysk, a w środku znajdź katalog o nazwie "Configuration_Templates", w ni...
Bazy danych i XML 4551 dni, 10 godzin, 12 minut temu 222 źrodło rozwiń
Witam Ostatnio napotkałem na dość ciekawy wyjątek podczas wykonywania NHibernatowego inserta. W bazie danych mam prostą tabelę Do takiej tabeli został stworzony model namespace Model { public class Appointment { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual DateTime StartDate { get; set; } public virtual TimeSpan Duration { get; set; } } } oraz mapping namespace Model.Mappings { public class AppointmentM...
Wczoraj w pracy natknąłem się na, na pierwszy rzut oka, banalny problem, który jak to często bywa po drugim rzucie okazał się trudniejszy niż zakładałem. Ale po kolei...
Bazy danych i XML 4734 dni, 19 godzin, 19 minut temu 143 źrodło rozwiń