Category : Daj Się Poznać 2016

Mockowanie DbContextu w EF7. DSP16 – część 11

Dzień dobry! Dziś krótko. Jak można zamockować wyciąganie danych przy pomocy DbContext w EF7? Sprawa ma się tak samo jak w poprzedniej wersji EF.

Załóżmy, że chcę zamockować wyciągnięcie danych z tablicy Venue. Klasycznie przy pomocą DbContextu wyciągnąłbym te dane w ten sposób:

Jeżeli chcę zamockować dbContext.Set<Venue>() to muszę wpierw stworzyć listę tego co chciałbym wyciągać:

read more

Wzorzec projektowy repozytorium. DSP16 – część 10

Postanowiłem użyć w moim projekcie wzorca projektorowego: repozytorium (ang. repository). Myślę, że stworzenie samemu repozytorium nie jest takie trudne. Krok po kroku przedstawię jak można samemu do tego dojść.

Posiadam tabelę w bazie danych o nazwie Player, która jest odzwierciedlona w kodzie tak:

Posiadam również klasę dzięki której mam dostęp do bazy danych: DbContext. Aby pobrać wszystkie rekordy z bazy danych z informacjami o graczach wystarczy, że napiszę: read more

Błędy podczas łączenia z bazą danych. DSP16 – część 9

Drugi raz w tym projekcie czułem się w beznadziejnej sytuacji kiedy próbowałem coś zaimplementować, a nic nie chciało działać. Szukanie błędów jest dla mnie fajną sprawą dopóki nie uważam, że zrobiłem wszystko jak należy a coś dalej nie działa. Wtedy nachodzi mnie konsternacja i zrezygnowanie. W takich momentach najlepiej sprawdza się w moim przypadku przerwa na co najmniej pół godziny.

Zaczęło się niewinnie. Odpaliłem VS, chciałem skompliować projekt i wyskoczył mi błąd:

An error occurred attempting to determine the process id of the DNXprocess hosting your application.

read more

EF 7 First Code – relacja wiele do wielu. DSP16 – część 8

Moim zdaniem ważnym elementem w projekcie jest poprawnie zaprojektowana baza danych. W poście dotyczącym EF7 First Code pokazałem diagram klas:

DSP16-5.1

Jeżeli się nie mylę to relacjami wiele do wielu EF6 radził sobie bez problemu. Mogłem napisać kod:

A później poprosić EF o stworzenie dla mnie tabel w bazie danych. EF radził sobie z tym zadaniem bez problemu.

Jednak chcąc użyć EF7 spawy mają się nieco inaczej. Kiedy napisałem taki kod dla klas Player oraz Tournament i wpisałem komendę dnx ef migrations add initial otrzymałem komunikat:

read more

Konsola poleceń z poziomu VS15. DSP16 – część 7

Podczas tworzenia projektu w ASP.NET Core 1.0 przydaje się konsola. Visual Studio nie oferuje mi (z tego co się orientuje) wejścia do konsoli z poziomu IDE. Więc za każdym razem musiałem odpalać cmd i wejść do ścieżki gdzie znajduje się projekt. Trochę irytujące. Istnieje rozwiązanie na ten problem.

read more

Mockowanie z ASP.NET Core 1.0. DSP16 – część 6

W poprzednim poście pokazałem jak można stworzyć projekt testowy przy użyciu ASP.NET Core. Tym razem przedstawię jak poradziłem sobie z tworzeniem dodawaniem biblioteki do mockowania w ASP.NET Core. Podobnie jak w przypadku testowania, trzeba pobrać odpowiednią bibliotekę do mockowania, która jest kompatybilna z ASP.NET Core.

Na dzień dzisiejszy udało mi się znaleźć dwie biblioteki, które są kompatybilne: LightMock oraz Moq. Postanowiłem użyć drugiego rozwiązania: Moq. Bardzo przydatny tutorial znalazłem na stronie dotnetlibery.com. Faktyczne instrukcje znalazłem w połowie postu (nagłówek: Setting up Moq on .NET Core).

read more

Testowanie w ASP.NET Core 1.0. DSP16 – część 5

Jestem zwolennikiem TDD, więc dla mnie testowanie aplikacji jest ważnym elementem. Ustawienie projektu testowego w ASP.NET Core to dla nowa lekcja. Zacząłem klasycznie: prawy przycisk myszką na solucję -> Add -> New Project… -> po lewej stronie wybrałem zakładkę Visual C# -> Test -> Unit Test Project, odpowiednia nazwa i OK. Następnie dodałem referencję:

DSP16-6.1

Wybrałem referencje do innego projektu i otrzymuję komunikat:

A reference to ‚nazwaProjektu’ could not be added.

read more

ASP.NET Core 1.0 z EF7 Code First. DSP16 – część 4

Aplikacje postanowiłem stworzyć w technologii  ASP.NET Core 1.0. Muszę przyznać, że dla mnie to duża nowość. Stworzenie najważniejszych elementów aplikacji przy użyciu tej technologi jest dla mnie nie lada wyzwaniem. W sumie to cały czas prototypuję. Muszę przyznać, że mimo tego, że to jest 4 post w już sporo sam dla siebie się nauczyłem (w sumie 5 post, ale poprzedniego nie opublikowałem).

 

Pierwsza rzecz jaką chciałem stworzyć to oczywiście struktura najważniejszych klas modelowych. Najważniejszymi klasami będą oczywiście: Tournament oraz Player.

DSP16-5.1

Pomyślałem, że zastosuję Entity Framework First Code Approach, który powstał przy okazji wydania EF 4.1. Napisałem sobie klasę, żeby zobaczyć jak w ogóle działa teraz EF. read more

VS wyrzuca błędy w języku polskim. DSP16 – część 3

W życiu zrobiłem jeden projekt w ASP.NET MVC i szczerze mówiąc najbardziej pociąga mnie właśnie ta technologia. Kiedyś motyw MVC w C# wydawał bardzo odległy, skomplikowany. Niby 3 warstwy. Niby wiem jak to działa w teorii, więc czego tu się bać? Pierwszy tutorial z MVC zrobiłem kiedy miałem mały romans z Ruby on Rails. I tam w sumie uznałem, że to wszystko ręce i nogi. Później dopiero zrobiłem projekt w ASP.NET MVC i odnalazłem się w tym bez żadnego problemu. read more

Instalacja potrzebnych narzędzi. DSP16 – część 2.

W tym wpisie zajmę się opisaniem, nie aż tak trudnego jakby się mogło wydawać, procesu instalowania potrzebnego oprogramowania. W moim przypadku będzie to SQL Server 2014 Express, Visual Studio 2015 oraz skonfigurowanie systemu kontroli wersji: Gita. Wpis nie zawiera wiedzy tajemnej dla osób, które pracują z kodem na co dzień.

Więc przejdźmy do instalacji krok po kroku.

SQL Server 2014 Express

https://www.microsoft.com/en-us/download/details.aspx?id=42299, wybieram opcję ExpressAdv 64BIT\SQLEXPRADV_x64_ENU.exe. Bez pardonu wybieram wszystkie dostępne opcje do instalacji. Dalej, dalej, dalej i zainstalowane. Aby zainstalować świeżą wersję SQL Server komputer nie może zalegać z resetem po aktualizacji Windowsa. W innym przypadku instalator nie pozwoli Ci dalej przejść Ci do kolejnego kroku instalacji oprogramowania. read more

Powered by: Wordpress