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
Kapcsolat felépítése
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
C# 3.0C# 3.0 Visual Basic 9.0Visual Basic 9.0 OthersOthers.NET Language Integrated Query LINQ to Objects LINQ to DataSets LINQ to SQL LINQ to Entities LINQ to XML Objects XML Relational
Linq To Sql Architektúra Alkalmazás LINQ to SQL SQL Server from c in db.Customers where c.City == "London" select c.CompanyName Enumeráció SELECT CompanyName FROM Customer WHERE City = 'London' SQL lekérezdés vagy Tárolt eljárás Sorok Object-ek db.Customers. InsertOnSubmit(c1); c2.City = “Seattle"; db.Customers. DeleteOnSubmit(c3); SubmitChanges() INSERT INTO Customer … UPDATE Customer … DELETE FROM Customer … DML vagy Tárolt eljárás
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