Webcast: Demointensiv gennemgang af Entity Framework 4

Webcast: Demointensiv gennemgang af Entity Framework 4

  • Comments 2

Under tesen “How many new features can we demo in one session?” gennemføres denne PDC09 session. Klart den bedste gennemgang jeg har set. 

Følgende nye features bliver gennemgået:

  • Model first & generate database from model. Hidtil har det været rimelig ubrugbart at starte ud med en ny Entity Model (Empty Model). Det er det ikke længere. Nu kan du lave modellen ved at starte med en “Empty Model” og derefter generere databaseskemaet.
  • Lazyloading. Du slipper nu for fortælle at din query, hvor meget af objekthierakiet der skal loades med .Include(“path”). Ved at have enabled layzloading vil der, vil relationerne i din model bliver loadet på det tidspunkt du forsøger at tilgå dem. Lækker feature. Men mon ikke der kunne sidde en DBA eller to, som ville få grå hår grundet mange roundtrips til databasen?
  • POCO. Plain Old CLR Objects. POCOs kan nu mappes af EF. Det vil sige, at man kan have helt rene klasser, som ikke indeholder referencer, metoder, attributter etc fra EF. 
  • T4 kodegenerering. Context og dataklasser bliver genereret med T4 templates. Du kan selv ændre i templaten, hvis du vil have et andet output. Super fleksibilitet at have.
  • context.ObjectStateManager. Nu kan man arbejde direkte med ObjectStateManageren og direkt fortælle den hvilke objekter der har ændret tilstand. 
  • context.ExecuteStoreQuery<MyResultSet>(“select name, address from Person”). Der er åbnet op for, at man gennem entity frameworket kan eksekvere queries. Klart brugbart. Men der er tilgengæld også åbnet op for SQL injection. Det kan også være DBA’en kommer efter dig - igen.
  • Få en stored procedure ind i modellen, brug den typestrækt i din query. Gå ca 34 minutter ind i videoen og se det. Ret elegant at du kan mappe en “dummy” klasse til en stored procedure, og derefter bruge den i dine queries. Godt extension point.
  • Code only. Til sidst viser de nogle post beta 2 features omkring Code only. Code only betyder at du ikke behøves nogen EDMX, men at du klare dig igennem helt imperativt.
Get Microsoft Silverlight

Videoen kan downloades i forskellige formater her.



  • Hej Henrik,

    Du skriver om Lazyloading "Men mon ikke der kunne sidde en DBA eller to, som ville få grå hår grundet mange roundtrips til databasen?". Det tror jeg egentlig ikke, databasen er heldigvis til en hvis grad afskærmet for den slags sløset udvikling i form af begrænsing på connectionpoolen. DBA'ere kigger ofte på tunge queries og queries der relaterer til lazyloading er som regel ret simple så ofte vil du blot have en langsom applikation pga de låsninger der er i forbindelse med pooling og det overhead der er ved netværksroundtrip.

    Sådanne problemer kan jvf min erfaring eksistere lang tid, udviklere tænker ikke på dem og DBA'ere monitorerer ikke queries der ikke er langsomme.

  • Hej Jakob,

    Point taken. Jeg tror du har ret. Perf problemer vil formentlig vise sig andre steder end i DBen.

    /Henrik

Page 1 of 1 (2 items)