EntityClient Provider for Entity Framework
Az EntityClient-szolgáltató egy olyan adatszolgáltató, amelyet az Entity Framework-alkalmazások használnak egy elméleti modellben leírt adatok eléréséhez. A fogalmi modellekről további információt a Modellezés és a Leképezés című témakörben talál. Az EntityClient más .NET-keretrendszer adatszolgáltatókat használ az adatforrás eléréséhez. Az EntityClient például a .NET-keretrendszer SQL Server-adatszolgáltatót (SqlClient) használja egy SQL Server-adatbázis elérésekor. Az SqlClient-szolgáltatóval kapcsolatos információkért lásd : SqlClient for the Entity Framework. Az EntityClient-szolgáltató a System.Data.EntityClient névtérben van implementálva.
Kapcsolatok kezelése
Az Entity Framework a tárolóspecifikus ADO.NET adatszolgáltatókra épül, és biztosít egy mögöttes adatszolgáltatót és egy EntityConnection relációs adatbázist. Egy objektum létrehozásához EntityConnection hivatkoznia kell egy metaadatkészletre, amely tartalmazza a szükséges modelleket és leképezéseket, valamint egy tárolóspecifikus adatszolgáltató nevét és kapcsolati sztring. A létrehozás után az EntityConnection entitások a fogalmi modellből létrehozott osztályokon keresztül érhetők el.
Az app.config fájlban megadhat egy kapcsolati sztring.
Ebbe System.Data.EntityClient beletartozik az EntityConnectionStringBuilder osztály is. Ez az osztály lehetővé teszi a fejlesztők számára a szintaktikailag helyes kapcsolati sztring létrehozását, valamint a meglévő kapcsolati sztring elemzését és újraépítését az osztály tulajdonságainak és módszereinek használatával.
Lekérdezések létrehozása
Az Entity SQL nyelv az SQL tárolófüggetlen dialektusa, amely közvetlenül fogalmi entitássémák használatával működik, és támogatja az entitás adatmodelljének olyan fogalmait, mint az öröklés és a kapcsolatok. Az EntityCommand osztály egy Entity SQL-parancs entitásmodellen való végrehajtására szolgál. Objektumok létrehozásakor EntityCommand megadhat egy tárolt eljárásnevet vagy egy lekérdezési szöveget. Az Entity Framework tárolóspecifikus adatszolgáltatókkal együttműködve lefordítja az általános Entity SQL-t tárolóspecifikus lekérdezésekre. Az Entity SQL-lekérdezések írásáról további információt az Entity SQL Language című témakörben talál.
Az alábbi példa létrehoz egy EntityCommand objektumot, és egy Entity SQL-lekérdezés szövegét rendeli hozzá a tulajdonságához EntityCommand.CommandText . Ez az Entity SQL-lekérdezés a listaár alapján megrendelt termékeket kéri le a fogalmi modellből. Az alábbi kód egyáltalán nem ismeri a tárolási modellt.
EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"SELECT VALUE p
FROM AdventureWorksEntities.Product AS p
ORDER BY p.ListPrice";
Lekérdezések végrehajtása
A lekérdezés végrehajtásakor a rendszer elemzi és átalakítja egy canonical parancsfává. Minden további feldolgozás a parancsfán történik. A parancsfa az adatszolgáltató és a System.Data.EntityClient mögöttes .NET-keretrendszer közötti kommunikáció eszköze, példáulSystem.Data.SqlClient.
Az EntityDataReader eredmény egy fogalmi modellen végzett végrehajtás EntityCommand eredménye. A parancs végrehajtásához, amely visszaadja a EntityDataReader, hívás ExecuteReader. A EntityDataReader gazdag strukturált eredmények leírására szolgáló implementálások IExtendedDataRecord .
Tranzakciók kezelése
Az Entity Frameworkben kétféleképpen lehet tranzakciókat használni: automatikus és explicit. Az automatikus tranzakciók a névteret System.Transactions használják, az explicit tranzakciók pedig az osztályt EntityTransaction .
A koncepcionális modellen keresztül közzétett adatok frissítéséhez lásd : How to: Manage Transactions in the Entity Framework.
A szakasz tartalma
Útmutató: Primitívtípus-eredményeket visszaadó lekérdezés végrehajtása
Útmutató: StructuralType-eredményeket visszaadó lekérdezés végrehajtása
Útmutató: RefType-eredményeket visszaadó lekérdezés végrehajtása
Útmutató: Összetett típusok visszaadására szolgáló lekérdezés végrehajtása
Útmutató: Beágyazott gyűjteményeket visszaadó lekérdezés végrehajtása
Útmutató: Paraméteres entitás SQL-lekérdezésének végrehajtása az EntityCommand használatával
Útmutató: Paraméteres tárolt eljárás végrehajtása az EntityCommand használatával
Útmutató: Polimorfikus lekérdezés végrehajtása
Útmutató: Navigálás a Navigálás operátorral való kapcsolatok között