Szkolenie Entity Framework 6
Poziom
ZaawansowanyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z Entity Framework 6
Entity Framework 6 w aplikacjach pracujących z relacyjnymi bazami danych. Obejmuje mechanizm działania ORM, różnice między EF6 i EF Core, asynchroniczność, testowanie, diagnostykę, wydajność zapytań, operacje zapisu, transakcje oraz biblioteki wspierające pracę z danymi. Szkolenie uwzględnia aktualny kontekst 2026: EF6 jako technologię nadal spotykaną w istniejących systemach oraz EF Core jako rekomendowany kierunek dla nowych i aktywnie rozwijanych aplikacji.
Dla kogo jest szkolenie Entity Framework 6?
Dla osób pracujących z bazami danych, które potrzebują wartościowego narzędzia do szybkiego i wygodnego dostępu do danych
Dla programistów C#/.NET, którzy chcą zrozumieć działanie ORM i świadomie korzystać z bazy danych w aplikacjach
Dla programistów aplikacji biznesowych, webowych i desktopowych, wymagających dostępu do baz danych
Czego nauczysz się na szkoleniu?
- Zdobędziesz praktyczną wiedzę o Entity Framework 6 jako narzędziu ORM do pracy z bazami danych w języku C#/.NET
- Poznasz aktualny status EF6 oraz różnice między EF6 a EF Core, co pozwoli Ci dobrać właściwe rozwiązanie do kontekstu projektu
- Nauczysz się stosować asynchroniczność i testowanie w Entity Framework, zwiększając wydajność i jakość aplikacji
- Opanujesz techniki optymalizacji wydajności operacji odczytu i zapisu danych, w tym analizę problemów N + 1, ładowania danych, projekcji i transakcji
- Zyskasz wgląd w diagnostykę, biblioteki zewnętrzne oraz kryteria oceny migracji z EF6 do EF Core
Program szkolenia Entity Framework 6
Dzień 1
Mechanizm działania Entity Framework
- Architektura Entity Framework i rola ORM w aplikacji
- Kontekst danych, encje, mapowanie i śledzenie zmian
- Cykl życia zapytania oraz materializacja danych
- Kluczowe aspekty działania Entity Framework istotne podczas analizy, diagnostyki i optymalizacji aplikacji
Nowości EF6 względem poprzednich wersji
- Zakres zmian w EF6
- Aktualny status EF6.x
- Znaczenie najnowszej wspieranej wersji w projektach utrzymaniowych
- Ograniczenia EF6 w kontekście nowych projektów .NET
EF6 i EF Core – różnice i podobieństwa
- Architektura EF6 i EF Core
- Różnice platformowe i projektowe
- Zakres zgodności oraz różnice w funkcjach
- Kryteria doboru EF6 i EF Core w zależności od typu aplikacji, platformy, wymagań technicznych i planów rozwoju systemu
Asynchroniczność
- Znaczenie asynchroniczności w pracy z ORM i bazą danych
- Operacje asynchroniczne w zapytaniach i zapisie danych
- Zysk, koszt i ryzyka modelu asynchronicznego w operacjach dostępu do danych
- Ograniczenia asynchroniczności przy operacjach CPU-bound i nadmiarowej równoległości
Testy z użyciem Entity Framework
- Rodzaje testów z uwzględnieniem Entity Framework oraz izolacja logiki biznesowej od dostępu do danych
- Testy jednostkowe
- Testy integracyjne
- Testy obciążeniowe
- Inne typy testów
Diagnostyka
- Mechanizmy diagnostyczne na poziomie ORM
- Analiza generowanych zapytań SQL
- Diagnostyka połączeń z bazą danych
- Pomiar czasu wykonania operacji
- Identyfikacja typowych problemów wydajnościowych
Dzień 2
Zapytania i wydajność
- Wydajność operacji odczytu danych oraz typowe pułapki w pracy z zapytaniami
- Problem N + 1
- Ewaluacja po stronie klienta i po stronie serwera
- Lazy loading i eager loading
- Projekcje
- Zapytania cold i warm
- NGen i koszty inicjalizacji
Zapytania i wydajność cz. 2
- Kontynuacja tematu wydajności operacji odczytu danych
- Analiza kolejnych przykładów zapytań
- Dobór technik optymalizacji do scenariusza
- Weryfikacja wpływu zmian na czas wykonania i liczbę zapytań
Wydajność dla operacji Insert/Update/Delete
- Problemy wydajnościowe w operacjach zmieniających stan danych
- Optymalizacja operacji Insert
- Optymalizacja operacji Update
- Optymalizacja operacji Delete
- Operacje na większej liczbie zmian wykonywanych jednocześnie
Transakcje – problemy i rozwiązania
- Transakcje i poziomy izolacji
- Deadlocki i wyścigi
- Spójność danych w operacjach współbieżnych
- Ograniczanie ryzyk w operacjach zapisu
- Dobór zakresu transakcji do scenariusza biznesowego
Biblioteki zewnętrzne wspierające pracę z Entity Framework
- Rozwiązania open-source rozszerzające możliwości Entity Framework
- Rozwiązania komercyjne rozszerzające możliwości Entity Framework
- Biblioteki wspierające operacje masowe
- Biblioteki wspierające diagnostykę i analizę zapytań
- Kryteria doboru bibliotek zewnętrznych do projektu
Korzyści EF Core niedostępne w EF6
- Przewagi EF Core względem EF6
- Funkcje niedostępne w EF6
- Scenariusze migracji z EF6 do EF Core
- Kryteria oceny opłacalności migracji
- Ograniczenia i ryzyka migracji z EF6 do EF Core