sinatra.dk
Arkiv, rss + Admin
 
Adventures in LINQ
0 Kommentarer | 02/08-2008 01:54 sinatra
De seneste uger har jeg arbejdet med at omlægge et website fra ADO.net til LINQ. Det har været interessant. Ved første blik virker LINQ jo så ufatteligt besnærende. Løkker og filtreringer, sql-strenge og alt muligt andet væsen erstattes med lambda-funktioner og stærkt typede queries direkte i programmeringssproget. Man loader data ind, retter i dem og gemmer ændringerne uden videre fiksfakserier.

Men så falder den anden sko.

Deferred loading bliver hurtigt din fjende. Hvis du ikke passer på, bliver deferred loading til repeated loading, og du får helvede med at opdatere større transaktioner, fordi dine data ikke lever i den samme datacontext. Og prøv at Attache fra én datacontext til en anden. Nettet er fyldt med tricks om kloning, serialisering og meget andet. Det er bare ikke let.

Men man retter sig ind. Lærer at sætte DataLoadOptions på sine specialiserede datacontexts. Lærer at være ultra omhyggelig med hvem der loader hvilke objekter. Lærer at læse LINQs SQL-log, og bliver klogere på hvad der egentlig sker. Og langsomt begynder det at tage form. Ikke perfekt. Men grundideen er så fornem, at man accepterer særhederne og stramheden i typesystemet. Man opdager, at LINQ tvinger en til at tænke i typer, snarere end i løkker og algoritmer. Abstraktionsniveauet er simpelthen højere, og jeg er overbevist om at den producerede kode er af en højere kvalitet.


 

Af:
Barselsbilleder
www.flickr.com

Nyeste kommentarer
Hjælp... digt/rim til min kæreste....(18)
27/08-2010 10:35 af nanna møller
Rock og gobeliner(5)
17/05-2010 15:23 af Jakke
tv-lørdag(1)
17/08-2009 07:45 af Knobbe
Goodbye pork pie hat(1)
12/08-2009 16:45 af Clæus
Play some rap-music(5)
11/08-2009 02:49 af Bo
Alene hjemme(2)
08/07-2009 00:27 af sinætra
Tolerance(1)
14/05-2009 03:22 af Clæaus
Spændende(1)
02/04-2009 03:28 af lækremichael
Flæskesvær(3)
26/03-2009 09:44 af Jakke
Hvorfor Brian?(1)
20/03-2009 02:32 af Jakke

Andre blogs

Diverse

Twitter Updates

follow me on Twitter

GeoURL
eXTReMe Tracker

Powered By Site5.com

Sinatra.dk
Sax og samliv