Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertHarald Ingvaldsen Endret for 9 år siden
1
Entity Framework Andreas Knudsen, Bekk Consulting AS 31/1 - 2008
2
Agenda Side 2 Generelt om Entity Framework Entity Data Model (EDM) Object Services Entity Client Arv Ymse annet Best Practices
3
Føles det kjent? Side 3
4
Generelt om Entity Framework Side 4 O/R M – Data aksess på et høyere abstraksjonsnivå Eksponerer databasen på en måte som gir mening for applikasjoner Plattform for andre produkter –Dynamic Data –Data Services
5
Generelt om Entity Framework: Roadmap Side 5 Entity Framework Beta 3 er ute nå Entity Framework Tools CTP 2 er ute nå RTM forventet før sommeren –Påbygg til.Net 3.5
6
Generelt om Entity Framework Side 6 Bygger på ADO.Net 2.0 Tre aksessmåter: –Object services /LINQ –Object services / ESQL –EntityClient Spørringer defineres i kode og eksekveres i DB
7
Entity Data Model Side 7 Det applikasjonen ”har lyst å forholde seg til” –Entity –Relationship En.edmx fil inneholder 3 deler –Konseptuell modell (.CSDL) –Lagringsmodell (.SSDL) –Mappingmodell (.MSL)
8
Object Services Side 8 Aksess vha LINQ –Sterkt typet –Behagelig å jobbe med Aksess vha Entity SQL –Spørring kan sys sammen ved kjøretid Change tracking –Automatisk
9
Entity Client Side 9 Lavnivå API som i ADO.Net 2.0 Entity SQL (utvidet SQL) DataReaders –Inneholder metadata Tilgang til Serverspesifikke funksjoner (Hvis ytelse er viktigst / du ikke bruker objekter / Reporting Services) OBS! - foreløpig Read-Only
10
Arv i Entity Framework Side 10 Vare Id Pris RabattVareAvslagVare Avslag(kr)Rabatt (%)
11
Arv i Entity Framework Side 11 En tabell per hierarki –Null–verdier der de ikke er relevante –Diskriminator - kolonner
12
Arv i Entity Framework Side 12 En tabell per type –Hver tabell inneholder ekstra data som trengs i forhold til basetype
13
Arv i Entity Framework Side 13 En tabell per konkrete type –Hver tabell inneholder alle dataene for en entitet type
14
Ymse Side 14 Transaction scope –Default: Hver SaveChanges() er i sin egen transaksjon Concurrency –Default: last write wins Stored Procs –Kan knyttes til CRUD-operasjoner i EDM –Men: du mister da muligheten til å kombinere spørringer
15
Best Practices (Kjekt å vite) Side 15 Ikke skriv LINQ overalt i applikasjonen, –Ha eget dataaksess lag Change tracking trekker mye RAM over tid, derfor: –MergeOption.NoTracking –Per spørring –Per Entity (i en kontekst) –Attach / Detach Bruk using-statement for konteksten: –using(MyEntities ctx = new...){... }
16
Best Practices / Kjekt å vite ( ASP.Net ) Side 16 Ikke mellomlagre entity – kontekst mellom requester ( f.eks i Session) –Det er fy fy! (minnebruk) Entities lar seg serialisere til ViewState –For å holde på en referanse: EntityKey
17
Best Practices / Kjekt å vite (Win apps) Side 17 Bruk Detach / Attach når du bytter applikasjonskontekst Dispose av entity context når du kan
18
Best Practices / Kjekt å vite (Services) Side 18 Entityer fungerer som WCF data kontrakter –Men er kanskje ikke så lurt... Attach / Detach Timestamp kolonne er smart ift. konflikter.
19
Spørsmål? Side 19
20
BEKK CONSULTING AS SKUR 39, VIPPETANGEN. P.O. BOX 134 SENTRUM, 0102 OSLO, NORWAY. WWW.BEKK.NO Andreas Knudsen Seniorkonsulent +47 98219349 andreas.knudsen@bekk.no
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.