Entity Framework Core

Znany też jako:EF CoreEntity Framework CoreEFCore

Definicja #

Entity Framework Core to oficjalny ORM Microsoftu dla platformy .NET, wydany w 2016 roku jako ewolucja Entity Framework 6. EF Core jest open source (MIT), wieloplatformowy i znacznie wydajniejszy od poprzednika.

Kluczowe cechy:

  • Code First — definiowanie modelu w klasach C#, automatyczne generowanie schematu bazy danych przez migracje.
  • Database First — generowanie klas C# ze istniejącej bazy danych (scaffold).
  • Migracje — zarządzanie zmianami schematu bazy danych (Add-Migration, Update-Database).
  • LINQ — silnie typowane zapytania kompilowane do SQL; IntelliSense i refaktoring.
  • Dostawcy baz danych — SQL Server, PostgreSQL (Npgsql), MySQL, SQLite, Oracle, Cosmos DB i inne.
  • Śledzenie zmian (Change Tracking) — automatyczne wykrywanie zmodyfikowanych encji i generowanie SQL UPDATE.
  • Owned Types, Value Converters, Raw SQL — zaawansowane wzorce mapowania.

EF Core wspiera wzorzec Repository, Unit of Work (DbContext), lazy/eager/explicit loading relacji. W .NET 8+ wprowadzono HierarchyId, primitive collections i kompilowane modele dla lepszej wydajności startowania.

Zastosowania #

  • CRUD aplikacji ASP.NET Core z automatycznymi migracjami schematu przy wdrożeniu.
  • Implementacja wzorca Repository Pattern i Unit of Work w architekturze DDD.
  • Integracja z Azure Cosmos DB przez Cosmos DB Provider — modele dokumentowe w C#.
  • Generowanie raportów przez skomplikowane LINQ queries z Group By i projekcjami.
  • Migracja z klasycznego Entity Framework 6 do EF Core w projektach .NET modernization.

Ścieżka nauki #

EF Core jest dobrze udokumentowany i łatwy do opanowania dla programistów C#:

  1. Oficjalna dokumentacja learn.microsoft.com/ef/core — wyjątkowo szczegółowa i aktualna.
  2. Zacznij od tutorial "Getting Started with EF Core" — tworzy prostą aplikację konsolową lub ASP.NET Core.
  3. Naucz się migracji — Add-Migration, Update-Database, rollback.
  4. Poznaj wzorce ładowania relacji: Include() (eager), ThenInclude(), lazy loading przez proxy.
  5. Kurs Pluralsight "Entity Framework Core" — Julie Lerman jest najlepszą ekspertką EF.
  6. Ćwicz z różnymi dostawcami: SQLite (testy integracyjne), SQL Server (produkcja).

FAQ #

Czym różni się EF Core od Dapper?
EF Core to pełnoprawny ORM z śledzeniem zmian, migracjami i LINQ — wysoka produktywność przy koszcie dodatkowej warstwy abstrakcji. Dapper to micro-ORM — mapuje wyniki SQL na obiekty C# bez Change Trackera; wymaga ręcznego pisania SQL, ale jest szybszy i daje pełną kontrolę nad zapytaniami. W SolidJobs używany jest NHibernate, który jest alternatywą EF Core.
Czy EF Core jest wolny?
EF Core jest znacznie szybszy niż klasyczny EF 6 i w typowych scenariuszach CRUD jest porównywalny z Dapper. Dla krytycznych ścieżek wydajnościowych można używać FromSqlRaw() lub Dapper obok EF Core. EF Core 7+ wprowadził Bulk Updates/Deletes (ExecuteUpdate/ExecuteDelete) bez ładowania encji do pamięci.
Jak działają migracje w EF Core?
Migracje w EF Core to pliki C# reprezentujące zmiany schematu bazy danych. Add-Migration generuje plik z metodami Up() i Down(). Update-Database aplikuje migracje do bazy. Historia migracji jest przechowywana w tabeli __EFMigrationsHistory. Migracje można stosować automatycznie przy starcie aplikacji (MigrateAsync).
EF Core vs NHibernate — co wybrać?
EF Core to oficjalny ORM Microsoftu, lepiej zintegrowany z .NET ekosystemem, prostszy w nauce. NHibernate to port Hibernate z Javy — dojrzalszy, bardziej konfigurowalny, lepszy dla złożonych mapowań. EF Core jest zalecany dla nowych projektów .NET; NHibernate nadal używany w wielu systemach enterprise i legacy.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Entity Framework Core w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.