Zprostředkovatel EntityClient pro Entity Framework
Zprostředkovatel EntityClient je zprostředkovatel dat používaný aplikacemi Entity Framework pro přístup k datům popsaným v konceptuálním modelu. Informace o koncepčních modelech najdete v tématu Modelování a mapování. EntityClient používá pro přístup ke zdroji dat další zprostředkovatele dat rozhraní .NET Framework. EntityClient například používá rozhraní .NET Framework Zprostředkovatel dat pro SQL Server (SqlClient) při přístupu k databázi SQL Serveru. Informace o poskytovateli SqlClient naleznete v tématu SqlClient pro Entity Framework. Zprostředkovatel EntityClient se implementuje v System.Data.EntityClient oboru názvů.
Správa připojení
Entity Framework vychází z ADO.NET zprostředkovatelů dat specifických pro úložiště tím, že poskytuje EntityConnection podkladovému poskytovateli dat a relační databázi. Pokud chcete vytvořit EntityConnection objekt, musíte odkazovat na sadu metadat, která obsahují potřebné modely a mapování, a také název zprostředkovatele dat specifický pro úložiště a připojovací řetězec. Jakmile jsou entity EntityConnection na místě, lze k entitám přistupovat prostřednictvím tříd vygenerovaných z konceptuálního modelu.
V souboru app.config můžete zadat připojovací řetězec.
Zahrnuje System.Data.EntityClient také EntityConnectionStringBuilder třídu. Tato třída umožňuje vývojářům programově vytvářet syntakticky správné připojovací řetězec a parsovat a znovu sestavit existující připojovací řetězec pomocí vlastností a metod třídy.
Vytváření dotazů
Jazyk Entity SQL je dialekt SQL nezávislý na úložišti, který pracuje přímo se schématy konceptu entit a podporuje koncepty modelu Entity Data Model, jako je dědičnost a vztahy. Třída EntityCommand se používá ke spuštění příkazu Entity SQL pro model entity. Při vytváření EntityCommand objektů můžete zadat název uložené procedury nebo text dotazu. Entity Framework pracuje s zprostředkovateli dat specifických pro úložiště a překládá obecné entity SQL do dotazů specifických pro úložiště. Další informace o psaní dotazů Entity SQL naleznete v tématu Entity SQL Language.
Následující příklad vytvoří EntityCommand objekt a přiřadí text dotazu Entity SQL k jeho EntityCommand.CommandText vlastnosti. Tento dotaz Entity SQL vyžaduje produkty seřazené podle ceníkové ceny z konceptuálního modelu. Následující kód vůbec nemá žádné znalosti o modelu úložiště.
EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"SELECT VALUE p
FROM AdventureWorksEntities.Product AS p
ORDER BY p.ListPrice";
Provádění dotazů
Při spuštění dotazu se parsuje a převede na kanonický strom příkazů. Veškeré následné zpracování se provádí ve stromu příkazů. Příkazový strom je způsob komunikace mezi System.Data.EntityClient poskytovatelem dat rozhraní .NET Framework a podkladovým poskytovatelem dat rozhraní .NET Framework, například System.Data.SqlClient.
Zpřístupňuje EntityDataReader výsledky provedení konceptuálního EntityCommand modelu. Spuštění příkazu, který vrátí EntityDataReadervolání ExecuteReader. Implementuje EntityDataReader popis bohatých strukturovaných IExtendedDataRecord výsledků.
Správa transakcí
V Entity Framework existují dva způsoby použití transakcí: automatické a explicitní. Automatické transakce používají System.Transactions obor názvů a explicitní transakce používají EntityTransaction třídu.
Pokud chcete aktualizovat data, která jsou vystavená prostřednictvím konceptuálního modelu, přečtěte si téma Postupy: Správa transakcí v Entity Frameworku.
V tomto oddílu
Postup: Provedení dotazu, který vrátí výsledky typu PrimitiveType
Postup: Provedení dotazu, který vrátí výsledky typu StructuralType
Postup: Provedení dotazu, který vrátí výsledky typu RefType
Postup: Provedení dotazu, který vrátí komplexní typy
Postup: Provedení dotazu, který vrátí vnořené kolekce
Postupy: Spuštění parametrizovaného dotazu Entity SQL pomocí EntityCommand
Postupy: Spuštění parametrizované uložené procedury pomocí EntityCommand
Postup: Spuštění polymorfního dotazu
Postupy: Procházení relací pomocí navigačního operátoru