Toon posts:

Soort van eigen MVC maar stuit op issues

Pagina: 1
Acties:

Onderwerpen


Anoniem: 222712

Topicstarter
Ik heb een soort van eigen interpretatie van het MVC pattern in een .NET project en zal even kort uit proberen te leggen waarom zo.

Een aantal van mijn objecten zijn ondergebracht in classes en binnen die classes zat businesslogic incluis datareadertjes etc. Zat ondertussen ook wat met WCF te spelen en kwam erachter dat dat soort objecten niet zomaar gemakkelijk geserialized kunnen worden dus besloot mijn ontwerp iets aan te passen, just in case...

Nu zijn er nog steeds die classes met logic erin, maar ook heb ik een model van de properties van bepaalde objecten en als ik iets aan bijv een grid hang, dan is het een 'list of t' van dat model.
Hier komt het probleem: Die list of model moet gevuld worden en als ik bijv eerst een datatable als itemsource van een grid instelde ging het nagenoeg instant, zelfs met een miljoen records.
Nu heb ik een model en mijn resultset van de database moet eerst in een list of bla gepropt worden. Die loop duurt in een geval van meer dan 100.000 records al best aardig lang. Daar komt bij dat dbnull velden gechecked moeten worden omdat die niet zomaar in een nullable of t gepropt mogen worden, dus per property een extra check en eventuele conversieslag.

Anyway, ik heb het idee dat ik het niet juist aanpak.
Volledig overleveren aan zoiets als het entity framework is geen optie omdat ik ook te maken heb met een backend die zich daar niet voor leent.

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 27-05 18:32
Je kan je in zo'n gevallen ook eens de vraag stellen of het wel nodig is dat je werkelijk 100.000 records inlaadt en in een grid propt. Tenzij je heel specifieke requirements hebt, gaat toch niemand een grid van 100.000 records manueel doorploegen op zoek naar het juiste lijntje? Werk je dan niet beter met een goede zoekmogelijkheid om snel bij een subset van potentieel relevante records te komen?

Om op je eigenlijke performancevraag terug te komen: ik weet niet wat je begrijpt onder 'aardig lang', maar in elk geval moet je bij performance-issues gewoon een profiler nemen en kijken welk deel van je code de meeste tijd in beslag neemt, en kijken of je daar wat aan kan doen. Zolang je dat niet weet, schiet je maar wat in het wild met performanceoptimalisaties en zal je wellicht een aantal micro-optimalisaties doorvoeren die maar weinig zoden aan de dijk brengen...

If you can't beat them, try harder



Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee