Object in einer tabellenspalte speichern in sql

Hallo,
ich hab zwei klassen ( Kunde, Gekauftesartikel)
für den kundenklasse habe ich eine tabelle gemacht, für jede eigenschaft eine spalte (Name,adresse usw.)
so kann ich einen bestimmten kunden in der datenbank suchen.

jetzt möchte ich die zweite klasse „Gekauftesartikel“ in einer anderen Tabelle speichern, die hat allerdings sehr viele properties. muss ich für jede property eine spalte in der Tabelle erstellen? oder kann ich das komplette object in einer Spalte speichern? wie würde das gehen? (beispiel wäre nicht schlecht) ich möchte nicht die möglichkeit haben, nach bestimmten gekauften artikel zu suchen, von daher für jede property eine spalte ist kein muss.

ich benutze c#/.net 3.5 mit sql server 2008.
Vielen Dank
Gruß

Hi Sami,

ich würde für jede eigenschaft eine Spalte erstellen, da du dann leichter nach einzelnen Produkten mit bestimmten Eigenschaften suchen kannst

z.B.:

| ArtNr |ArtName|Preis|
|-------|-------|-----|
|1234567|Platine|12,33|
|7654321| Buch |7,99 |

d.h. wenn jemand nur den Artikelpreis oder die Artikelnummer weiß kannst du weniger umständlich danach suchen indem du nur bestimmte Spalten abfragst

du kannst natürlich auch alles in eine Spalte schreiben, aber dann musst du jeden ausgelesenen string nochmal nach dem entsprechenden Wert durchsuchen. das wäre ja dann doppelte arbeit^^

mfg Sebastian

Hallo Sami,

habe ich zwar noch nicht gemacht, aber such mal nach „Serialisierung“ (serialize / desirialize). Das wandelt, soweit ich das verstanden habe, Objekte in XML Daten um, die kann man dann leicht speichern.

Ansonsten kann man auch BinaryLargeObjects, ich meine das hätte ich mal für Bilder so gelesen …?, in (machen?) DB speichern. Dazu würde ich aber auch mal unter DB anfragen.

Zum Thema suchen wurde ja schon was geschrieben. Klar, das XML kann man noch durchsuchen. Ob das über Textfunktionen sinnig ist, deine Entscheidung. Bei den BLObs geht das natürlich nicht mehr. Ggfs. kann man ja ein paar wichtige Attribute explizit speichern. Auch die Frage der Größe der BLObs könnte ein Problem werden, da mE die Felder der DB nicht auf wirklich große (ich denke da an MBs) Objekte ausgelegt sind. Deine Daten klingen aber nicht danach …

biba

Dirk.Pegasus