1 / 16

Kako zmešati LINQ, ADO.NET in SQL Server

Kako zmešati LINQ, ADO.NET in SQL Server. { mag. Denis Giacomelli, MCAD }. Vsebina. “Katmai” za razvijalce LINQ ADO.NET Entity Framework Povzetek Vprašanja. “Katmai” - SQL Server 2008. Podatkovni tipi za datum in čas date (3 byte, 1.1.0001 – 31.12.9999, nat. 1 dan)

micah
Télécharger la présentation

Kako zmešati LINQ, ADO.NET in SQL Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kako zmešati LINQ, ADO.NET in SQL Server {mag. Denis Giacomelli, MCAD}

  2. Vsebina • “Katmai” za razvijalce • LINQ • ADO.NET Entity Framework • Povzetek • Vprašanja

  3. “Katmai” - SQL Server 2008 • Podatkovni tipi za datum in čas • date (3 byte, 1.1.0001 – 31.12.9999, nat. 1 dan) • time (5 bytov, 0 – 23:59:59.9999999, nat. 100 ns) • datetime2 (8 bytov, date + time) • datetimeoffset (10 bytov, datetime2) • datetime (1.1.1753 - 31.12.9999 23:59:59.997, nat. 0.333 s) • smalldatetime (1.1.1900 – 6.6.2079 23:59:59, nat. 1 min)

  4. “Katmai” - SQL Server 2008 • Podatkovni tipi za datum in čas DEMO

  5. “Katmai” - SQL Server 2008 • Podatkovni tip Hierarchyid • Za hierarhične strukture: organizacijska struktura, kosovnica, datotečni sistem, itd. • Binarni podatkovni tip • Pri vnašanju podatkov moramo vrednost tega polja “izračunati” DEMO

  6. “Katmai” - SQL Server 2008 • Podatkovni tip Hierarchyid • Iskanje po tabeli z uporabo indeksov: a) v globino b) v širino hierarchyid  clustered hierarchyid, level  unique

  7. “Katmai” - SQL Server 2008 • Podatkovni tip Hierarchyid DEMO

  8. “Katmai” - SQL Server 2008 • MERGE • Izvede ukaze INSERT, UPDATE, DELETE na ciljni tabeli glede na rezultat povezave z izvorno tabelo • Trigerji se normalno izvedejo • Lepša programska koda  DEMO

  9. LINQ - osnove • Language INtegrated Query • Brez LINQ-a: • Mešanje C# kode z SQL kodo • Poizvedbe kot tekst • V poizvedbah je veliko poslovne logike • Napake se pokažejo kot izvajalne namesto prevajalne • Ni nadomestek za ADO.NET, ampak je njegova dopolnitev!

  10. LINQ - osnove • Kaj predstavlja LINQ za programerja? • DataContext – podatkovna baza • Table<> - podatkovna tabela DEMO

  11. LINQ - poizvedbe • Kdaj se poizvedba dejansko izvede? • Ne takoj! • Šele na zahtevo (foreach, GetEnumerator()) • Ampak vedno na zahtevo, kar je lahko zelo nevarno • Temu se izognemo s klicem metode ToList() ali ToArray() • Kako se poizvedba dejansko izvede? • Kot SQL ukaz na SQL Server-ju (ne kot IL!) • Poglejmo SQL Profiler ali je to res ... DEMO

  12. LINQ - relacije • Definiramo jih lahko v poizvedbi • Definiramo jih lahko z atributi v razredu DEMO

  13. LINQ – spremembe podatkov • Ali je LINQ namenjen samo branju? • SubmitChanges() • Kaj pa transakcije? • using(TransactionScope ts ...) • SqlMetal – Entity Class Generator Tool DEMO

  14. Povzetek • SQL Server 2008 (“Katmai”) z novimi podatkovnimi tipi in ukazi (ki pa trenutno v C# še niso podprti ) • LINQ je “dozorel” in dopolnjuje oziroma razširja ADO.NET • LINQ, ADO.NET in SQL Server se dobro mešajo med sabo 

  15. Vprašanja, diskusija ... hvala za pozornost!

More Related