Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

YOUR LOGO C# ADO.NET. YOUR LOGO Úvod – ADO.NET  ADO.NET zajišťuje přístup k databázím  2 koncepčně jedinečné styly -Připojeně -Odpojeně přechodné (offline)

Podobné prezentace


Prezentace na téma: "YOUR LOGO C# ADO.NET. YOUR LOGO Úvod – ADO.NET  ADO.NET zajišťuje přístup k databázím  2 koncepčně jedinečné styly -Připojeně -Odpojeně přechodné (offline)"— Transkript prezentace:

1 YOUR LOGO C# ADO.NET

2 YOUR LOGO Úvod – ADO.NET  ADO.NET zajišťuje přístup k databázím  2 koncepčně jedinečné styly -Připojeně -Odpojeně přechodné (offline) spojení Database ADO.NET klient

3 YOUR LOGO ADO.NET - poskytovatelé  ADO.NET podporuje mnoho poskytovatelů  Poskytovatel definuje základní množinu tříd vycházející ze System.Data  Poskytovatel je optimalizován pro komunikaci s konkrétním DBMS  System.Data -Connection - připojuje se k uložišti dat -Command – reprezentuje dotaz SQL, název procedury -DataReader – přístup k datům, směr dopředu, jen ke čtení -DataAdapter – přenáší data mezi volajícím a datovým uložištěm -Interní objekty pro operace nad daty (select, insert, update, delete)

4 YOUR LOGO Získávání dat v připojeném režimu 1.Otevření spojení ( SqlConnection ) 2.Spuštění dotazu ( SqlCommand ) 3.Výsledek se načte do „čtečky“( SqlDataReader ) 4.Uzavření „čtečky“ 5.Uzavření spojení SqlConnection SqlCommand SqlDataReader Databáze SqlParameter SqlParameter SqlParameter

5 YOUR LOGO Získávání dat v odpojeném režimu  Data jsou „kešována“ v DataSetu 1.Otevření spojení ( SqlConnection ) 2.Naplnění DataSetu (užitím SqlDataAdapteru ) 3.Uzavření spojení 4.Modifikace dat v DataSetu 5.Otevření spojení 6.Uložení změn do DB 7.Uzavření spojení SqlConnection SqlDataAdapter DataSet Database

6 YOUR LOGO Komponenty ADO.NET SQL Server.NET Data Provider OleDb.NET Data Provider Oracle.NET Data Provider ODBC.NET Data Provider DataReader DbCommand Připojený režim DataSet DataAdapter Odpojený režim … DataContext Table LINQ-to-SQL ObjectContext EntityObject Entity Framework …

7 YOUR LOGO LINQ  LINQ je jednotný programovací model pro libovolný druh dat  LINQ umožňuje dotazovat se na data nezávisle na datovém zdroji  LINQ pro objekty  LINQ pro ADO.NET -LINQ pro SQL -LINQ pro entity  LINQ pro SQL

8 YOUR LOGO LINQ  Rozšíření LINQ -LINQ pro Sharepoint -LINQ pro CRM -LINQ pro exchange -LINQ pro …  Příklad: var query = from c in Customers where c.country == „Italy“ select c.CompanyName;

9 YOUR LOGO LINQ – podpora jazyka  Lokální odvozování typů -Určení správného typu proměnné je ponechán na kompilátoru, který jej odvodí z výrazu přiřazeného do samotné proměnné  Příklady: var a = 5; // a je deklarováno jako int var x = 2.3; // x jako double var p = default(string); // p jako string var u = null; // nelze odvodit typ lokální proměnné z null

10 YOUR LOGO LINQ – jak pracuje  Kód: Customer[] Customers = GetCustomers(); var query = from c in Customers where c.Country == “Italy” orderby c.Name select new { c.Name, c.City };  Kompilátor: var query = Customers.Where( c => c.Country == “Italy”).OrderBy( c => c.Name).Select( c => new { c.Name, c.City } );

11 YOUR LOGO LINQ – podpora jazyka  Rozšiřující metody rozšiřuje existující typ přidáním nových metod bez odvozování do nového typu  Rozšiřující metoda musí být statická a veřejná  První parametr je typ, který metoda rozšiřuje  První parametr obsahuje klíčové slovo this  Generický typ jako první parametr rozšiřuje množinu tříd  Rozšiřující metody lze přetěžovat

12 YOUR LOGO LINQ – podpora jazyka  Rozšiřující metoda – příklad: static class ExtensionMethod { public static decimal Double(this decimal d) { return d + d; } public static decimal Triple(this decimal d) { return d * 3; }

13 YOUR LOGO LINQ – pokračování  Rozšiřující metody jsou záklaním rysem syntaxe  Vykonání příkazu v DB je odloženo až do prvního přístupu k výsledkům dotazu  Deklarativnější styl jazyka se lépe čte i udržuje  Snadno se dotazujete na objekty, entity, databázové záznamy, uzly XML, …

14 YOUR LOGO LINQ - dotazy  Dotazy pracují nad objekty implemetující rozhraní IEnumerable nebo IQueryable  Klazuzule from -Míří na instanci třídy implementující rozhraní IEnumerable -Definuje datový zdroj dotazu -Typ proměnné odvodí kompilátor z typu datového zdroje -Lze použít více klauzulí where a spojovat tak různé datové zdroje  Klauzuke Where -Udává filtrovací podmínku, jenž se aplikuje na datový zdroj -Překládá na rozšiřující metodu Where rozhraní IEnumerable

15 YOUR LOGO LINQ - dotazy  Klauzule Where -V jednom dotazu může být více klauzulí where public static IEnumerable Where (this IEnumerable source, Func predicate)  Klauzule Select -Určuje co se má vybírat z výsledků všech předchozích klauzulí a výrazů

16 YOUR LOGO LINQ - dotazy  Klauzule Group a Into -Seskupuje výsledky podle klíče var query = from d in Developers group d by d.language into developersGroup select new { Language = developersGroup.Key, DevelopersCount = DevelopersGroup.Count() }

17 YOUR LOGO LINQ - dotazy  Klauzule OrderBy -Umožňuje vzestupně či sestupně třídit výsledky dotazu  Klazule Join -Spojuje různé datové zdroje na základě členů zdrojů, u nichž lze zjišťovat rovnost -Srovnávání se provádí pomocí speciálního slova „equals“ -U equals záleží na pořadí operandů -Levý klíč představuje vnější sekvenci zdrojů, pravý vnitřní zdroj var result = from c in Categories join p in Products on c.IdCategory equals p.IdCategory …

18 YOUR LOGO LINQ – operátory  Any -Vrací TRUE, jestliže ve zdrojové sekvenci existuje prvek, který vyhovuje zdanému predikátu -Metoda končí ihned, jakmile je dostupný výsledek bool result = (from c in Customers from o in c,Orders select o).any( o => o.IdProduct == 1)

19 YOUR LOGO LINQ – operátory  All -Vrací TRUE, kdy podmínce vyhovují všechny elementy ve zdrojové sekvenci bool result = (from c in Customers from o in c.Orders select o).All(o => o.Quantitu > 0);

20 YOUR LOGO LINQ – operátory  Take -Parametr count představuje počet položek, teré se vyberou ze zdrojové sekvence  First -Vybírá první parametr ze sekvence  FirstOrDefault -Podobné jako First, pokus neexistuje nevrátí chybu

21 YOUR LOGO ORM model  ORM model přístupu k datům -Mapuje databázové tabulky na třídy a objekty -Objekty jsou automaticky ukládány do databáze -Operace mohou probíhat v připojeném a odpojeném režimu  Výhody -Zvyšuje produktivitu práce, méně kódu -Pracujete s objekty a jejich vztahy namísto tabulek a SQL dotazů -Integrovaný mechanismus dotazování na objekty 21

22 YOUR LOGO ORM model  Nevýhody -Méně flexibility – SQL příkazy jsou automaticky generovány -Výkonnostní problémy (někdy) Relační databáze ORM Entity (C# třídy) ORM Framewor k

23 YOUR LOGO ORM model  ORM nástroje v.NET Framework a VS -LINQ to SQL -ADO.NET EntityFramework  ORM nástroje třetích stran -Nhibernate -Telerik Open Acces ORM -MicroORM -Lightspeed

24 YOUR LOGO LINQ to SQL  ORM framework pro SQL server  Definujete množinu objektů jako abstraktní vrstvu nad relačními daty  Dotazujete se pomocí LINQ  Mapování mezi entitami a databázovou strukturou je popsáno v metadatech  Třída DataContext obstarává komunikaci mezi LINQ a relačním datovým zdrojem


Stáhnout ppt "YOUR LOGO C# ADO.NET. YOUR LOGO Úvod – ADO.NET  ADO.NET zajišťuje přístup k databázím  2 koncepčně jedinečné styly -Připojeně -Odpojeně přechodné (offline)"

Podobné prezentace


Reklamy Google