Avatar billede kastermester Nybegynder
22. marts 2009 - 12:24 Der er 5 kommentarer og
1 løsning

Søger godt OR/M tool

Hey ya!

Jeg har igennem de sidste par måneder arbejdet på et større projekt i ASP.Net 3.5 SP1, hvor jeg har valgt at bruge LINQ2SQL som mit DAL. Jeg er dog nu bumpet ind i et par performance problemer og ønsker selvfølgelig at optimere yderligere på ydelsen på min side. Jeg er allerede gået igang med flere individuelle små optimeringer på diverse undersider - samt generel caching af data - men ønsker at kunne benytte mig af cached queries (så hele LINQ expressionen ikke skal parses ved hver query). Et problem vd LINQ2SQL er dog at der skal sendes en instans af DataContext'et med for at opnå dette - og jeg har gennem erfaring fundet ud af at jeg er nødt til at oprette et nyt datacontext for hvert request, ellers så kan siden ende med at crashe. Sagt på en anden måde, det at lave compiled query en gang per request, vinder man jo intet ved.

Så, jeg søger en god OR/M som understøtter LINQ, er hurtig og KAN lave compiled queries uden denne begrænsning. Som altid er det den umulige problem stilling, godt, hurtigt og bare perfekt på en gang.

Jeg har søgt lidt rundt omkring og set lidt forskellige demoer af forskellige OR/Ms men der er ikke rigtig noget der fanger mig, så nogle personlige erfaringer ville være dejligt. Det behøves nødvendigvis ikke at være gratis, dog ville det jo ikke gøre noget ;).
Avatar billede arne_v Ekspert
22. marts 2009 - 14:41 #1
Drop LINQ og brug NHibernate (NHibernate har vist også fået LINQ, men lad være med at bruge det).
Avatar billede kastermester Nybegynder
22. marts 2009 - 16:29 #2
Det svar er rimelig ubrugeligt - som sagt så er siden allerede rimelig langt i udviklingsfasen og der er på ingen måde en mulighed for at droppe LINQ. Siden er bygget så jeg kan skifte OR/M frameworket ud, men det SKAL kunne bruges sammen med IQueryable<T>.

Jeg ved godt at det lyder lidt groft, og det er det egentlig også, men som mit første indlæg beskriver så skal jeg kunne bruge LINQ.
Avatar billede arne_v Ekspert
22. marts 2009 - 16:43 #3
Det lyder ret usandsynligt i mine ører at nogen skulle have en LINQ implementation bedre end den opfinderen af LINQ har lavet til deres egen database.

Du kunne prøve at checke LLBLGen. Jeg aner ikke om de kan løse dit problem. Men Frank Bouma er dygtig.
Avatar billede arne_v Ekspert
22. marts 2009 - 16:47 #4
Men lang hen af vejen har I skudt jer selv i foden:
- have et DAL som kræver at implementationen er baseret på LINQ to SQL er dåelig encapsulation
- performance af en teknologi skal testes inden man starter udvikling, så man ved at det er en brugbar vej

Og endelig er LINQ to SQL vil en blind vej. Der er lidt blandede udmeldinger fra MS om dets fremtid, men der kan vist ikke være tvivl om at det LINQ to Entities som der vil blive satset på.
Avatar billede kastermester Nybegynder
23. marts 2009 - 10:53 #5
Tak jeg vil tage et kig på det.

Eftersom det ikke ser ud til at der er mange andre der har lyst til at skyde en kommentar afsted så kan du smide et svar for point :).
Avatar billede arne_v Ekspert
24. marts 2009 - 00:39 #6
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester