240 likes | 367 Views
Adatkezelés. Ez az előadó neve beosztása vállalata. Bevezetés az ADO.NET 3.5-be Áttekintés. ADO.NET 2.0 Kapcsolat felépítése Lekérdezések futtatása, eredmény feldolgozása ADO.NET 3.5 Linq To Sql architektúra CRUD műveletek Konkurrencia, teljesítmény, validálás ASP.NET 3.5 adatkezelés
E N D
Adatkezelés Ez az előadó neve beosztása vállalata
Bevezetés az ADO.NET 3.5-beÁttekintés • ADO.NET 2.0 • Kapcsolat felépítése • Lekérdezések futtatása, eredmény feldolgozása • ADO.NET 3.5 • Linq To Sql architektúra • CRUD műveletek • Konkurrencia, teljesítmény, validálás • ASP.NET 3.5 adatkezelés • Adatkötés • Adatköthető vezérlők
Az ADO.NET 2.0-ás módszer • Adatbázis műveletek folyamatos kapcsolat mellett • Providerek • OleDB, ODBC, SQL, Oracle • Kapcsolat felépítése • Connection String
Connection Stringek és a Connection Pool • ConnectionString tárolása a web.config-ban • WebConfigurationManager. ConnectionStrings["MyConn"].ConnectionString • Mi az a Connection Pool? • Létező connection példányok újrahasznosítása • Pool-ból vesz ki szálat, ha nincs és van hely, csinál újat.
SQL utasítások készítése és futtatása • DbCommand • CommandText • ”Select * From Products” • ”Ten Most Expensive Products” • CommandType • Text • StoredProcedure • ExecuteNonQuery() • ExecuteScalar() • ExecuteReader()
Lekérdezések eredményének feldolgozása • DbDataReader • Szerver oldali kurzor • Gyors és hatékony • Csak olvasható és csak előre • Gridview, Listbox, DropDownList szereti • DbDataReader.Read() pufferbe olvas mindig egy sort
Demó SQL utasítások futtatása, kritikus helyzetek
Bevezetés a LINQ To SQL-be • OO világban nem objektum orientált adatforrások • ORM • Uniformizált adatelérés • Imperatív programozás helyett deklaratív • Nyelvbe ágyazott • Linq provider fejlesztési láz
<book> <title/> <author/> <year/> <price/> </book> Relational Objects XML .NET Language Integrated Query C# 3.0 Visual Basic 9.0 Others LINQ toObjects LINQ toDataSets LINQ toSQL LINQ toEntities LINQ toXML
Linq To Sql Architektúra db.Customers. InsertOnSubmit(c1); c2.City = “Seattle"; db.Customers. DeleteOnSubmit(c3); from c in db.Customers where c.City == "London" select c.CompanyName Enumeráció Object-ek SubmitChanges() SQL lekérezdésvagyTárolt eljárás Sorok DML vagy Tárolt eljárás SQL Server INSERT INTO Customer … UPDATE Customer …DELETE FROM Customer … SELECT CompanyName FROM Customer WHERE City = 'London' Alkalmazás LINQ to SQL
Linq To Sql Adatmodell • DataContext • Entitás osztályok • Metaadatok • Külső XML-ből is • Gazdag leképezési lehetőségek • Öröklés, relációk, tárolt eljárások, függvények • Az egész generálható • Designer , vagy SQLMetal.exe
Demó Adatmodell készítése, alapvető CRUD műveletek végrehajtása
Lekérdezés optimalizálás • Késleltetett kiértékelés • Előrefordított lekérdezések • Csak olvasható DataContext
Konkurencia problémák • ChangeConflictException • DataContext.Refresh(RefreshMode) • RefreshMode • KeepChanges • KeepCurrentValues • OverwriteCurrentValues • SubmitChanges(ConflictMode) • ConflictMode • FailOnFirstConflict • ContinueOnConflict
Tranzakció kezelés • SubmitChanges() explicit tranzakciót kezdeményez • TransactionScope • Pl. Elosztott tranzakciók • Using blokk • TransactionScope.Complete()
Validációs lehetőségek • AdatModell-ben • Entitásban • Property szintjén(pl OnProductNameChanging()) • Entitás szinten (OnValidate()) • DataContext-ben • Művelet szintjén (pl. InsertOrder) • Input szinten – Validátor vezérlők • RequiredFieldValidator • RegularExpressionValidator • ...
DataSource vezérlők • SqlDataSource • ObjectDataSource • AccessDataSource • LinqDataSource • XmlDataSource • SiteMapDataSource
Adatköthető vezérlők I. • Gridview • Táblázatos megjelenítés • Adatköthető • Testreszebható – Sablonok • Beépített funkcinalitás • Lapozás • Rendezés • Kiválasztás • Nincs INSERT!
Demó Adatkötés Gridview vezérlőhöz, a vezérlő testreszabása
Adatköthető vezérlők II. • Detailsview • Adott sorhoz tartozó részletek • Adatköthető • Testreszabható – Sablonok • Beépített funkcionalitás • Lapozás • Beszúrás!
Adatköthető vezérlők III. (3.5) • Listview • Sablonok segítségével testreszabható HTML kimenet • DataPager • Lapozást megvalósító vezérlő • Testreszabható megjelenés
Demó Master-Details Scenario-k bemutatása