Entity Framework Andreas Knudsen, Bekk Consulting AS 31/1 - 2008.

Slides:



Advertisements
Liknende presentasjoner
Tilpasse spørringer i RT Kolonnetilpassninger Egne spørringer Legge spørring til forside Legge spørring til Dashboard.
Advertisements

Hans Olav Norheim
v/Tormod Engebu, IKAVA KDRS 13. november 2013
Design av sikre web-applikasjoner
SuperOffice - Visma Global ERP link - Tilbud/Ordre SuperOffice - Visma Global integrasjonen består av 3 produkter. ERP link SuperOffice - Visma Global.
© 2006 IFS AB. All rights reserved.
So you think you can scale? Oracle Coherence i praksis OUGN vårseminar, april 2010, Øyvind Brusevold.
Ditt eget integrerte utviklingsmiljø med OpenEdge i fokus Hamar 27. mars 2009 Thomas Skjørten/Jan Kolstad.
Content Management på en ny måte Stian Danenbarger Creuna as.
Progress ”Transparent Data Encryption”
Skifteplan mobil en ny brikke i det teknologiske landbruket
Muzzafer Marvati Brukermanualer Service og vedlikehold.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Gjenfinningssystemer og verktøy II
Kontrollstrukturer (Kapittel 3)
IBM Global Services JavaOne 2007 Ole André Scheie IBM GBS.
Mobile portalløsninger (Internet Online Platform)
Realistiske demoer gir bedre feedback!
Prioriter testene dine!
NAF-Data A/S Dynamics & Empowerment l Kort presentasjon av eBestilling-konseptet l Hvorfor Dynamics? l Hvorfor Empowerment? l Erfaringer med Empowerment.
Databaseteori.
Objektorientert programmering i PHP del 2
Pay it forward − delta på StackOverflow Avdelingsmøte Tech, 15. september 2011 Åsmund Eldhuset.
E-Site Intro for utviklere. Innhold Info Funksjoner Aktører og tilgang Arkitektur, egne utvidelser (.Net 3.5) Objekter og user controls.
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 Lasso ved UiO Erlend Garåsen, USIT 2003.
Gjenfinningssystemer og verktøy II
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
C# for javaprogrammerere
1 Øvingsforelesning Andreas Knudsen Nils Grimsmo
Transformasjoner Men hva hvis relasjonen er kurvelinjær?
Tildeling av snødeponeringssted. LOG530 Distribusjonsplanlegging 2 2 Kommunen skal kommende vinter frakte snø fra 10 soner til 5 deponeringssteder. Snøen.
1 Kap 02 Relasjonsdatabaser. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk.
Klassediagrammer II Klassen samler data og operasjoner i passe store enheter Klassen organiserer programdesig net.
Klassediagrammer Klassen er en grunnleggende enhet i et objektorientert system Alle kan finne klasser i et domene Det å finne klasser er en intuitiv aktivitet.
PayEx Logistics Hovedprosjekt - Gruppe 16 Thomas Siavash Glenn Viktorija.
Løsning hos RSH Norge En gjennomgang av løsning hos Reitan Servicehandel Norge Edvard Gundersen – ProfitBase AS Løsningsarkitekt.
Administrasjon av SQL Server 2008 Av: Ole Kristian Bangås Fagansvarlig SQL Server.
ASP.Net Fremover (Asp.Net 3.5 Extensions) Andreas Knudsen, Bekk Consulting AS 31/
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Object Oriented Measurement
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
c. Sett inn riktig form av adjektivene, med artikkel hvis nødvendig.
Flash og ActionScript - Nye muligheter Jostein Nordengen.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Høgskolen i Oslo Webprogrammering Filbehandling i PHP.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
Misbruk av FitNesse XP Meetup Trond Arve Wasskog.
Ble Mona Lisa malt iterativt? Reidar Sande Smidig 2008, 9. oktober 2008.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
Invoices.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
KAP. 12 Hypertext Implementasjon Roy Kjellid & Tor Andre Kvinge Inf 329.
Hvordan kan foreldre bruke de vangligste funksjonene i Itslearning.com
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Praktiske erfaringer med Objektorientert Progress og.NET Jan Kolstad PUG Norway, Lillehammer 2005.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Parallellisering av Coin3D for Systems in Motion av Sveinung Thunes.
Specification texts for building, construction and installations
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
Struktur FE2: Interface Controller Session Bean Session Beans Query BeanConverter Bean Data transfer objectsEJB entities Database.
Trondheim Lytte- og Læresenter. Sammendrag Prosjektet ble iverksatt fordi Trondheim Lytte- og Læresenter så behovet i å ha et elektronisk kundearkiv i.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Upload av bildefiler Utdrag fra ImageIn Ved Kirsten Klæbo Tirsdag 25/11-03.
UiO Programkiosk: Ny portal og tilgang fra Mac og Linux
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
Klassediagrammer II Klassen samler data og operasjoner i passe store enheter Klassen organiserer programdesignet.
| Microsoft Norge.
Utskrift av presentasjonen:

Entity Framework Andreas Knudsen, Bekk Consulting AS 31/

Agenda Side 2  Generelt om Entity Framework  Entity Data Model (EDM)  Object Services  Entity Client  Arv  Ymse annet  Best Practices

Føles det kjent? Side 3

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

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

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

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)

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

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

Arv i Entity Framework Side 10 Vare Id Pris RabattVareAvslagVare Avslag(kr)Rabatt (%)

Arv i Entity Framework Side 11  En tabell per hierarki –Null–verdier der de ikke er relevante –Diskriminator - kolonner

Arv i Entity Framework Side 12  En tabell per type –Hver tabell inneholder ekstra data som trengs i forhold til basetype

Arv i Entity Framework Side 13  En tabell per konkrete type –Hver tabell inneholder alle dataene for en entitet type

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

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...){... }

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

Best Practices / Kjekt å vite (Win apps) Side 17  Bruk Detach / Attach når du bytter applikasjonskontekst  Dispose av entity context når du kan

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.

Spørsmål? Side 19

BEKK CONSULTING AS SKUR 39, VIPPETANGEN. P.O. BOX 134 SENTRUM, 0102 OSLO, NORWAY. Andreas Knudsen Seniorkonsulent