Zanim przejdziemy do interesujących zagadnień związanych z EF Core przeniesiemy się na chwilę w przeszłość. Spojrzymy na ewolucję platformy, poznamy podstawy mapowania obiektowo-relacyjnego (ORM) oraz zapoznamy się z podstawowym działaniem frameworka.
Przed pojawieniem się .NET 3.5 pobieranie i zapisywanie danych odbywało się głównie przy pomocy ADO.NET oraz Enterprise Data Access Block. Drugie rozwiązanie, zapewnie mniej znane, było głównie używane w celu obsługi podstawowych operacji CRUD na bazie danych. Mała złożoność wpływała również na niezłą wydajność.
Z drugiej strony do naszej dyspozycji zostało oddane ADO.NET. Kontrola (w dosłownym tego słowa znaczeniu) nad tworzonymi zapytaniami pozwalała na rozwiązywanie nawet najbardziej skomplikowanych problemów. Wiązało się to oczywiście z dodatkową złożonością i ryzkiem wystąpienia błędu – takie jednak są aplikacje Enterprise.
W obu przypadkach zasada działania była jednak podobna. Otwieraliśmy połączenie z bazą danych, tworzyliśmy DataSet w celu pobrania lub przesłania danych do bazy danych, konwertowaliśmy dane z ‘datasetów’ na obiekty w .NET i odwrotnie. Był to uciążliwy i podatny na błędy proces. Entity Framework to rozwiązanie powstałe w celu zautomatyzowania wszystkich powyższych działań związanych z obsługą bazy danych dla tworzonej aplikacji.
Framework pozwala na pracę z danymi przy użyciu obiektów klas bez potrzeby skupiania się bazowych tabelach i kolumnach bazy danych w której te dane są przechowywane. Dzięki takiemu rozwiązaniu programiści mogą pracować na wyższym poziomie abstrakcji skupiając się na tworzeniu aplikacji z mniejszą ilością kodu, które w efekcie są łatwiejsze w zarządzaniu. W takim rozwiązaniu eliminujemy większość kodu związanego z dostępem do danych.