Entity Framework - omówienie

Co to jest Entity Framework?

Entity Framework został wydany po raz pierwszy w 2008 roku, podstawowy sposób interakcji firmy Microsoft między aplikacjami .NET i relacyjnymi bazami danych. Entity Framework to Object Relational Mapper (ORM), które jest rodzajem narzędzia, które upraszcza mapowanie między obiektami w oprogramowaniu na tabele i kolumny relacyjnej bazy danych.

  • Entity Framework (EF) to platforma ORM typu open source dla ADO.NET, która jest częścią .NET Framework.

  • ORM zajmuje się tworzeniem połączeń z bazą danych i wykonywaniem poleceń, a także pobieraniem wyników zapytań i automatyczną ich materializacją jako obiektami aplikacji.

  • ORM pomaga również w śledzeniu zmian w tych obiektach, a po otrzymaniu instrukcji utrwala te zmiany z powrotem w bazie danych.

Dlaczego Entity Framework?

Entity Framework to ORM, a ORM mają na celu zwiększenie produktywności programisty poprzez zmniejszenie nadmiarowego zadania utrwalania danych używanych w aplikacjach.

  • Entity Framework może wygenerować niezbędne polecenia bazy danych do odczytu lub zapisu danych w bazie danych i wykonać je za Ciebie.

  • Jeśli wykonujesz zapytania, możesz wyrazić zapytania względem obiektów domeny przy użyciu LINQ to encje.

  • Entity Framework wykona odpowiednie zapytanie w bazie danych, a następnie zmaterializuje wyniki w wystąpieniach obiektów domeny, abyś mógł pracować w swojej aplikacji.

Na rynku dostępne są inne ORMy, takie jak NHibernate i LLBLGen Pro. Większość ORMów zazwyczaj mapuje typy domen bezpośrednio do schematu bazy danych.

Entity Framework ma bardziej szczegółową warstwę mapowania, dzięki czemu można dostosowywać mapowania, na przykład mapując pojedynczą jednostkę do wielu tabel bazy danych lub nawet wielu jednostek do jednej tabeli.

  • Entity Framework to technologia dostępu do danych zalecana przez firmę Microsoft dla nowych aplikacji.

  • Wydaje się, że ADO.NET odnosi się bezpośrednio do technologii zbiorów danych i tabel danych.

  • Entity Framework to miejsce, w którym dokonywane są wszystkie inwestycje w przyszłość, co ma miejsce już od wielu lat.

  • Firma Microsoft zaleca używanie Entity Framework za pośrednictwem ADO.NET lub LINQ to SQL do wszystkich nowych programów.

Model koncepcyjny

Dla programistów, którzy są przyzwyczajeni do programowania skoncentrowanego na bazach danych, największą zmianą w Entity Framework jest to, że pozwala skupić się na domenie biznesowej. Czego chcesz, aby Twoja aplikacja działała bez ograniczania się tym, co potrafi baza danych?

  • W przypadku Entity Framework punkt centralny jest nazywany modelem koncepcyjnym. Jest to model obiektów w aplikacji, a nie model bazy danych, którego używasz do utrwalania danych aplikacji.

  • Twój model koncepcyjny może być zgodny ze schematem bazy danych lub może być zupełnie inny.

  • Za pomocą projektanta wizualnego można zdefiniować model koncepcyjny, który może następnie wygenerować klasy, które będą ostatecznie używane w aplikacji.

  • Możesz po prostu zdefiniować swoje klasy i użyć funkcji Entity Framework o nazwie Code First. Następnie Entity Framework zrozumie model koncepcyjny.

Tak czy inaczej, Entity Framework sprawdza, jak przejść z modelu koncepcyjnego do bazy danych. Możesz więc wykonywać zapytania dotyczące obiektów modelu koncepcyjnego i pracować z nimi bezpośrednio.

funkcje

Poniżej przedstawiono podstawowe funkcje Entity Framework. Ta lista jest tworzona na podstawie najważniejszych funkcji, a także na podstawie często zadawanych pytań dotyczących Entity Framework.

  • Entity Framework to narzędzie firmy Microsoft.
  • Entity Framework jest rozwijany jako produkt Open Source.
  • Entity Framework nie jest już powiązany ani zależny od cyklu wydawania platformy .NET.
  • Działa z każdą relacyjną bazą danych z prawidłowym dostawcą Entity Framework.
  • Generowanie poleceń SQL z LINQ to Entities.
  • Entity Framework utworzy sparametryzowane zapytania.
  • Śledzi zmiany w obiektach w pamięci.
  • Umożliwia wstawianie, aktualizowanie i usuwanie generowanych poleceń.
  • Działa z modelem wizualnym lub z własnymi klasami.
  • Entity Framework ma zapisaną obsługę procedur.