Udostępnij za pośrednictwem


Dostawca EntityClient dla programu Entity Framework

Dostawca EntityClient to dostawca danych używany przez aplikacje platformy Entity Framework do uzyskiwania dostępu do danych opisanych w modelu koncepcyjnym. Aby uzyskać informacje na temat modeli koncepcyjnych, zobacz Modelowanie i mapowanie. Obiekt EntityClient używa innych dostawców danych programu .NET Framework do uzyskiwania dostępu do źródła danych. Na przykład element EntityClient używa Dostawca danych .NET Framework dla programu SQL Server (SqlClient) podczas uzyskiwania dostępu do bazy danych programu SQL Server. Aby uzyskać informacje o dostawcy SqlClient, zobacz SqlClient dla programu Entity Framework. Dostawca EntityClient jest implementowany w System.Data.EntityClient przestrzeni nazw.

Zarządzanie połączeniami

Platforma Entity Framework opiera się na dostawcach danych specyficznych dla magazynu ADO.NET, zapewniając EntityConnection dostawcę danych bazowego i relacyjną bazę danych. Aby utworzyć EntityConnection obiekt, należy odwołać się do zestawu metadanych, który zawiera niezbędne modele i mapowanie, a także nazwę dostawcy danych specyficzną dla magazynu i parametry połączenia. Po wykonaniu obiektu EntityConnection można uzyskać dostęp do jednostek za pośrednictwem klas wygenerowanych na podstawie modelu koncepcyjnego.

W pliku app.config można określić parametry połączenia.

Element System.Data.EntityClient zawiera również klasę EntityConnectionStringBuilder . Ta klasa umożliwia deweloperom programowe tworzenie składniowo poprawnych parametry połączenia oraz analizowanie i ponowne kompilowanie istniejących parametry połączenia przy użyciu właściwości i metod klasy.

Tworzenie zapytań

Język Entity SQL to niezależny od magazynu dialekt JĘZYKA SQL, który współpracuje bezpośrednio ze schematami jednostek koncepcyjnych i obsługuje koncepcje modelu danych jednostki, takie jak dziedziczenie i relacje. Klasa EntityCommand służy do wykonywania polecenia Entity SQL względem modelu jednostki. Podczas konstruowania EntityCommand obiektów można określić nazwę procedury składowanej lub tekst zapytania. Platforma Entity Framework współpracuje z dostawcami danych specyficznymi dla magazynu, aby przetłumaczyć ogólny język SQL jednostki na zapytania specyficzne dla magazynu. Aby uzyskać więcej informacji na temat pisania zapytań Entity SQL, zobacz Entity SQL Language (Język SQL jednostki).

Poniższy przykład tworzy EntityCommand obiekt i przypisuje do jego EntityCommand.CommandText właściwości tekst zapytania Entity SQL. To zapytanie jednostki SQL żąda produktów uporządkowanych według ceny cennika z modelu koncepcyjnego. Poniższy kod w ogóle nie zna modelu magazynu.

EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"SELECT VALUE p
 FROM AdventureWorksEntities.Product AS p
 ORDER BY p.ListPrice";

Wykonywanie zapytań

Po wykonaniu zapytania jest ono analizowane i konwertowane na kanoniczne drzewo poleceń. Wszystkie kolejne operacje przetwarzania są wykonywane w drzewie poleceń. Drzewo poleceń jest sposobem komunikacji między System.Data.EntityClient dostawcą danych programu .NET Framework a podstawowym dostawcą danych programu .NET Framework, takim jak System.Data.SqlClient.

Element EntityDataReader uwidacznia wyniki wykonywania EntityCommand względem modelu koncepcyjnego. Aby wykonać polecenie zwracające polecenie , wywołaj metodę EntityDataReaderExecuteReader. Implementacje EntityDataReader opisujące zaawansowane wyniki ustrukturyzowane IExtendedDataRecord .

Zarządzanie transakcjami

W programie Entity Framework istnieją dwa sposoby używania transakcji: automatyczne i jawne. Transakcje automatyczne używają System.Transactions przestrzeni nazw, a jawne transakcje używają EntityTransaction klasy .

Aby zaktualizować dane udostępniane za pomocą modelu koncepcyjnego, zobacz How to: Manage Transactions in the Entity Framework (Jak zarządzać transakcjami w programie Entity Framework).

W tej sekcji

Instrukcje: Wykonywanie zapytania, które zwraca wyniki PrimitiveType

Instrukcje: Wykonywanie zapytania, które zwraca wyniki StructuralType

Instrukcje: Wykonywanie zapytania, które zwraca wyniki RefType

Instrukcje: Wykonywanie zapytania, które zwraca typy złożone

Instrukcje: Wykonywanie zapytania, które zwraca kolekcje zagnieżdżone

Instrukcje: Wykonywanie zapytania SQL do sparametryzowanej jednostki przy użyciu EntityCommand

Instrukcje: Wykonywanie zapytania SQL do sparametryzowanej procedury składowanej przy użyciu EntityCommand

Instrukcje: Wykonywanie zapytania polimorficznego

Instrukcje: Nawigowanie po relacjach za pomocą operatora nawigowania

Zobacz też