Entity Framework Samouczek
Rozpoczęcie pracy z Entity Framework
Szukaj…
Uwagi
Entity Framework (EF) to mapowanie obiektowo-relacyjne (ORM), które umożliwia programistom .NET pracę z danymi relacyjnymi przy użyciu obiektów specyficznych dla domeny. Eliminuje to konieczność korzystania z większości kodu dostępu do danych, który programiści zwykle muszą pisać.
Entity Framework umożliwia tworzenie modelu poprzez pisanie kodu lub używanie pól i linii w programie EF Designer. Oba te podejścia można zastosować do ukierunkowania na istniejącą bazę danych lub utworzenia nowej bazy danych.
Entity Framework to główna ORM zapewniana przez Microsoft dla .NET Framework i zalecanej przez Microsoft technologii dostępu do danych.
Wersje
Wersja | Data wydania |
---|---|
1.0 | 2008-08-11 |
4.0 | 2010-04-12 |
4.1 | 2011-04-12 |
4.1 Aktualizacja 1 | 2011-07-25 |
4.3.1 | 29.02.2012 |
5.0 | 11.08.2012 |
6.0 | 17.10.2013 |
6.1 | 17.03.2014 |
Rdzeń 1.0 | 27.06.2016 |
Informacje o wersji: https://msdn.microsoft.com/en-ca/data/jj574253.aspx
Korzystanie z Entity Framework z C # (Code First)
Kod najpierw pozwala na tworzenie twoich encji (klas) bez użycia projektanta GUI lub pliku .edmx. Jej nazwa pochodzi kod pierwszy, ponieważ można tworzyć modele pierwszy i Entity Framework stworzy bazę danych stosownie do automatycznego mapowania dla Ciebie. Możesz także zastosować to podejście w przypadku istniejącej bazy danych, która nazywa się najpierw kodem w istniejącej bazie danych. Na przykład, jeśli chcesz, aby tabela zawierała listę planet:
public class Planet
{
public string Name { get; set; }
public decimal AverageDistanceFromSun { get; set; }
}
Teraz utwórz kontekst, który jest pomostem między klasami jednostek a bazą danych. Nadaj mu jedną lub więcej właściwości DbSet<>
:
using System.Data.Entity;
public class PlanetContext : DbContext
{
public DbSet<Planet> Planets { get; set; }
}
Możemy użyć tego, wykonując następujące czynności:
using(var context = new PlanetContext())
{
var jupiter = new Planet
{
Name = "Jupiter",
AverageDistanceFromSun = 778.5
};
context.Planets.Add(jupiter);
context.SaveChanges();
}
W tym przykładzie tworzymy nową Planet
z właściwością Name
o wartości "Jupiter"
i właściwością AverageDistanceFromSun
o wartości 778.5
Następnie możemy dodać tę Planet
do kontekstu za pomocą DbSet
Add()
DbSet
i zatwierdzić nasze zmiany w bazie danych za pomocą metody SaveChanges()
.
Lub możemy pobrać wiersze z bazy danych:
using(var context = new PlanetContext())
{
var jupiter = context.Planets.Single(p => p.Name == "Jupiter");
Console.WriteLine($"Jupiter is {jupiter.AverageDistanceFromSun} million km from the sun.");
}
Instalowanie pakietu NuGet Entity Framework
W Visual Studio otwórz okno Eksploratora rozwiązań, następnie kliknij prawym przyciskiem myszy projekt, a następnie wybierz z menu Zarządzaj pakietami NuGet :
W oknie, które zostanie otwarte, wpisz EntityFramework
w polu wyszukiwania w prawym górnym rogu.
Lub jeśli używasz Visual Studio 2015 zobaczysz coś takiego:
Następnie kliknij Zainstaluj.
Możemy również zainstalować framework encji za pomocą konsoli menedżera pakietów. Aby to zrobić, musisz najpierw otworzyć go za pomocą menu Narzędzia -> Menedżer pakietów NuGet -> Konsola Menedżera pakietów, a następnie wpisz:
Install-Package EntityFramework
Spowoduje to zainstalowanie Entity Framework i automatyczne dodanie odniesienia do zestawu w projekcie.
Co to jest Entity Framework?
Pisanie kodu ADO.Net i zarządzanie nim w celu uzyskania dostępu do danych to żmudne i monotonne zadanie. Firma Microsoft udostępniła platformę O / RM o nazwie „Entity Framework” w celu automatyzacji działań związanych z bazą danych dla aplikacji.
Struktura encji jest strukturą Object / Relational Mapping (O / RM). Jest to rozszerzenie do ADO.NET, które daje programistom automatyczny mechanizm dostępu i przechowywania danych w bazie danych.
Co to jest O / RM?
ORM to narzędzie do przechowywania danych z obiektów domeny do relacyjnej bazy danych, takiej jak MS SQL Server, w sposób zautomatyzowany, bez większego programowania. O / RM obejmuje trzy główne części:
- Obiekty klasy domeny
- Obiekty relacyjnych baz danych
- Informacje o mapowaniu mapowania obiektów domeny na obiekty relacyjnych baz danych ( np. Tabele, widoki i procedury składowane)
ORM pozwala nam oddzielić projekt bazy danych od naszego projektu klasy domeny. Dzięki temu aplikacja jest łatwa w utrzymaniu i rozszerzalna. Automatyzuje również standardowe operacje CRUD (tworzenie, czytanie, aktualizowanie i usuwanie), dzięki czemu programista nie musi pisać ręcznie.