Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Nästlade collections

Postades av 2004-05-12 08:48:23 - Patrik Dahlén, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 503 personer

Någon som har lite bra idéer på hur man bäst fyller nästlade collections?

Ex.
Jag har ProjectCollection som innehåller objekt av typ Project. Projectobjektet innehåller en UserCollection med projektanvändare.
Om jag ska ha fram ett projekt så kör jag en stored procedure som tar emot ett projektid, hämtar data och kör sedan en annan stored procedure som tar emot ett projektid och returnerar alla projektanvändare. Resultatet får jag ut i två tabeller i ett DataSet.
Sedan så skapar jag ett UserObject med data från första tabellen och loopar sedan igenom tabell 2 och fyller min UserCollection och stoppar in den i Projectobjektet.

Nu till problemet.
Om jag ska ha en ProjectCollection så måste jag hämta alla projekt och sedan alla användare för varje projekt. När jag fyller min collection så får jag för varje rad skapa ett objekt och sedan anropa databasen och hämta användarna för det projektet. Det kan bli många anrop.
ELLER så kan jag i min SP som hämtar alla projekt köra en SP som hämtar alla användare från alla projekt. Då har jag ett DataSet med två tabeller. När jag sedan loopar igenom tabell 1 och skapar mina projektobjekt kan jag göra en SELECT på tabell 2 och få ut användarna som hör till det aktuella projektet.

Prestandamässigt, vilket är att föredra?
Extra anrop mot databasen eller en SELECT i en DataTable?

Eller finns det några andra knep att fylla nästlade collections?

/pD
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nu


Svara

Sv: Nästlade collections

Postades av 2004-05-12 09:38:29 - Jon Gyllenswärd

Desto färre anrop till databasen desto snabbare, men det vet du ju redan... Och är du ute efter effektivitet så borde du ju använda en datareader istället.

Annars finns det lite olika sätt. Är det relativt få användare kan du ju ladda alla med ett anrop, sen ladda alla projekt och sen plocka ut dina användare som redan är laddade i nån sorts collection.

Jag gör som du beskriver i din ursprungsversion (flera frågor) just nu i en applikation och tänker byta tillvägagångssätt om jag tycker att det blir slött :)


Svara

Sv: Nästlade collections

Postades av 2004-05-12 12:17:47 - Andreas Håkansson

Patrik,

Det beror lite på hur din applikation "ser ut", hur många användare det handlar om och hur ofta information uppdeteras i den. Det handlar hela tiden om en Prestanda Vs. Tillförlitlighet.

Prestanda: Att ladda in all information på en och samma gång sparar dig en massa vändor till databasen. I ett trafikerat nätverk eller om databasaen nås över WAN så vill man inte ha ett "chatty" nätverksinterface utan ett "chunky" där mycket information skickas ofta.

Tillförlitlighet: Man vill undvika att användare A inte sitter och arbetar med information som användare B redan har uppdaterat sen informationen lästes in. Detta går givetvis att lösa genom att ha tidstämplar på alla poster i databasen men då dyker problemet upp hur man skall hantera vilken av informationen som skall sparas till databasen.

Du får analysera kraven och användningsscenariot för din applikation och fatta ett beslut kring detta. Hoppas detta varit till någon hjälp!

//Andreas


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
732
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies