Dataset eller objekt.
Hejsan
vet inte om detta är rätt forum men det är relaterat till .net dock inte vs.net.
Jag bygger ett litet kundprogram för eget bruk. Nu vill jag göra detta så rätt som möjligt. Dvs så rent oo som möjligt. Idag så är det finns det inget grafiskt gränssnitt till programmet men det kommer kanske.
Nu till frågan.
Jag hämtar upp mina kunder från databasen.
Varje rad blir nu ett eget objekt som jag lägger i en lista. Denna lista skickar jag sen till en metod som skriver ut denna lista.
Satt och läste lite på msdn och såg att man kan använda dataset för att jobba med frånkopplade tabeller.
I princip så skulle jag kunna skicka ett dataset till metoden och sen så skriver denna ut den. Fördelen med detta tycker jag att man slipper skapa massa objekt, eller structs för att endast presentera lite data. Dock tycker jag att det är smidigt med objekt då man sen skall arbeta med datan i dem.
Innan jag började med C# så gjorde jag samma program i Java. Där använde jag objekt och varje objekt hade en save metod som sparade det till databasen. Fungerade väl ok men man fick en massa databas objekt.
Eller så skulle man kunna använda en kombination av dessa två metoder. Datasetet arbetar direkt mot databasen och speglar denna med updatecommand och de andra metoderna som finns. Sen arbetar man med objektet längre upp i programmet.
Svara
Sv: Dataset eller objekt.
Varje post blir et objekt är en mycket dålig teknik. Databaser växer. Att ladda alla dessa objekt vid start kommer ta mer och mer tid. Se på ett recordset. ÄR ett mycket smart objekt. Du loppar igenom det radvis. Du kan ju återspegla poster som objekt. Men lada inte mer objekt än vad som behövs.
Skulle rekomendera att istället för att skapa en collectiona av ojekt för en tabell när du ska ladda en lista. Ha en funktion/subrutin som har kontrollen som argument och eventuell filter.
Svara
Sv: Dataset eller objekt.
Jag skulle nog i såna fall rekommendera att du tittar på DataTable-objektet istället för datasets, mindre overhead och lite smidigare att arbeta med...
Svara