Temporal Table i Entity Framework

Temporal Table i Entity Framework

Wprowadzenie W poprzednim wpisie pokazałem Ci, jak działa w SQL Server mechanizm Temporal Tables. Dzięki niemu możemy w prosty sposób bezpośrednio w samej bazie danych zapisywać historię zmian rekordów. O ile z użyciem tego w czystym SQL (np. za pomocą ADO.NET, Dapper lub innego Micro ORM) nie ma większych problemów, to już w przypadku Entity Read more about Temporal Table i Entity Framework[…]

Temporal Tables – Historia zmian w SQL Server

Temporal Tables – Historia zmian w SQL Server

Wprowadzenie W dwóch ostatnich wpisach na blogu omawiałem zapis historii zmian danych w aplikacji z wykorzystaniem mechanizmu Audit z Entity Framework Plus. Mechanizm tamten działał w momencie, gdy korzystaliśmy z Entity Framework. Jednak nie zawsze chcemy lub możemy korzystać z tego ORMa. Dlatego w dzisiejszym wpisie chcę Ci pokazać mechanizm, który działa zupełnie inaczej i Read more about Temporal Tables – Historia zmian w SQL Server[…]

Konfiguracja Audit z Entity Framework Plus

Konfiguracja Audit z Entity Framework Plus

Wprowadzenie W poprzednim wpisie pokazałem, w jaki sposób zapisać historię zmian obiektów w Entity Framework z wykorzystaniem mechanizmu Audit z Entity Framework Plus. W dzisiejszym wpisie pokażę, w jaki sposób skonfigurować ten mechanizm, aby zapisywał te informacje, których potrzebujemy, w odpowiedni sposób. Modyfikacja przykładu W tym wpisie będę bazował na przykładzie z wcześniejszego wpisu, ale Read more about Konfiguracja Audit z Entity Framework Plus[…]

Topshelf – tworzenie usługi systemowej

Topshelf – tworzenie usługi systemowej

Wprowadzenie Rozwijanie usługi systemowej stworzonej z domyślnego szablonu w Visual Studio nie jest prostym zajęciem. Szczególnie debugowanie takiej aplikacji sprawia sporo problemów. Nie można z poziomu IDE uruchomić usługi i jej debugować. Trzeba podpinać się pod działający proces. W przypadku gdy chcemy zdebugować start usługi, musimy posiłkować się różnymi dziwnymi konstrukcjami, które zatrzymają start usługi Read more about Topshelf – tworzenie usługi systemowej[…]

Grupowanie wiadomości w NLogu w ramach żądania HTTP

Grupowanie wiadomości w NLogu w ramach żądania HTTP

Wprowadzenie Logowanie działania aplikacji jest bardzo przydatne podczas późniejszej analizy tego, co się stało. Na ogół prawie każda aplikacja loguje jakieś informacje. Niestety zauważyłem, że równie często nie do końca dobrze logujemy wiadomości. Jest to szczególnie widoczne w aplikacjach webowych (na przykład w ASP.NET MVC). Przy dużej liczbie użytkowników wiadomości z poszczególnych żądań są wymieszane Read more about Grupowanie wiadomości w NLogu w ramach żądania HTTP[…]

Postman - testowanie API

Postman – testowanie API

Wprowadzenie Sposób tworzenia aplikacji webowych zmienia się na przestrzeni czasu. W świecie .NET przez lata kodowaliśmy w ASP.NET MVC, w którym widoki były generowane po stronie serwera. Od jakiegoś czasu idziemy w kierunku, w którym backend udostępnia API, z którego korzysta aplikacja po stronie przeglądarki i która generuje widoki po stronie klienta. W związku z Read more about Postman – testowanie API[…]

VS Live Share – łatwiejsza praca zdalna

VS Live Share – łatwiejsza praca zdalna

Wprowadzenie Praca zdalna coraz częściej i „bardziej” wchodzi do naszego zawodu. Sam przez prawie osiem lat pracowałem zdalnie z domu. Teraz natomiast, pracując w olsztyńskim oddziale SoftwareHut, i tak pracuję zdalnie dla klienta z Anglii. Praca zdalna wiąże się z wyzwaniami. W jaki sposób wspólnie debugować aplikacje, gdy jesteśmy oddaleni od siebie o kilkaset kilometrów? Read more about VS Live Share – łatwiejsza praca zdalna[…]

Entity Framework Automapper oraz projekcja

Entity Framework, Automapper oraz projekcja

Wprowadzenie Od wielu lat używam viewmodeli do przekazywania danych do widoku – niezależnie od tego, czy to aplikacja desktopowa w WPF, czy webowa w ASP.NET MVC. Do tego jeszcze Automapper do mapowania danych na viewmodele. Niestety mapowanie z wykorzystaniem metody Map obiektów z Entity Frameworka bardzo często ma swoje negatywne konsekwencje (na ogół pobieramy zbyt Read more about Entity Framework, Automapper oraz projekcja[…]

CsvHelper - praca z plikami csv

CsvHelper – praca z plikami csv

Wprowadzenie Tworząc aplikację, wcześniej czy później będziemy musieli zaimportować lub wyeksportować jakieś dane. Jednym z formatów, który prawdopodobnie będziemy musieli obsłużyć, będzie plik csv. Można taki import lub eksport zrobić ręcznie, korzystając z takich metod klasy string, jak Join lub Split. Z drugiej strony możemy skorzystać z czegoś gotowego. W swoich projektach, gdy mam pracować Read more about CsvHelper – praca z plikami csv[…]

Jak zastąpić rozbudowanego switch w aplikacji

Jak zastąpić rozbudowany switch w aplikacji

Wprowadzenie Dzisiejszy wpis jest zainspirowany kilkoma ostatnimi przypadkami, w których widziałem bardzo rozbudowane switche w aplikacji.  Utrzymanie tego kodu zaczynało sprawiać programistom spore problemy. Zapewne wielokrotnie widziałeś lub widziałaś metody, w których znajdował się jeden wielki switch, gdzie każdy case zawierał następnie zupełnie inny kod niż pozostałe przypadki. Utrzymanie tego, a w szczególności dodanie nowych Read more about Jak zastąpić rozbudowany switch w aplikacji[…]